IT 취미생활.  
Front Page
Tag | Location | Media | Guestbook | Admin   
 
'error'에 해당하는 글(2)
2008.12.12   error C2787: 'IContextMenu' : no GUID has been associated with this object
2008.12.03   [DshowFilter] PC based Dshow building시 Error


error C2787: 'IContextMenu' : no GUID has been associated with this object
아래와 같은 문제로 인해서 문제가 발생 됩니다.
문제 해결 방법은 2가지가 있습니다.


1. 원론적 문제 해결 방법

------------------------------------------------------------------------------
>I am building a shell extn. project in .net ide which is
>converted from vC++ 6.00.
>
>During buid i am getting the following error
>"error C2787: 'IContextMenu' : no GUID has been associated
>with this object", The same project works fine in VC++6.0.
>
>I have included the following files also
>#include <shlguid.h>
>#include <shobjidl.h>
>#include <shlobj.h>
>
>any help will be appreciated

This is interesting. There are two <comdef.h> header files in VC.NET, one in
Vc7/include and the other in Vc7/PlatformSDK/include. The former splits off
the smart pointer typedefs into comdefsp.h, and it doesn't include
IContextMenu. The latter does. You can try to #include the PlatformSDK
header directly, change your INCLUDE path order, or supply the missing
typedef yourself, e.g.

struct __declspec(uuid("000214e4-0000-0000-c000-000000000046"))
IContextMenu;

_COM_SMARTPTR_TYPEDEF(IContextMenu, __uuidof(IContextMenu));

--
Doug Harrison
Microsoft MVP - Visual C++
------------------------------------------------------------------------------


2. 더 간단한 방법은...

------------------------------------------------------------------------------
The response is for people that find this thread by searching for the same error.

Just define at the top of the stdafx.h file above your includes:
#define _ATL_NO_UUIDOF
------------------------------------------------------------------------------


[DshowFilter] PC based Dshow building시 Error


PC 상에서 Dshow 관련 Build시 아래와 같은  Build Error 를 찾아 볼 수 있는데
해결 방법으로 두가지가 있습니다.




>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winnt.h(222) : error C2146: syntax error :

missing ';' before identifier 'PVOID64'
1>C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\include\winnt.h(222) : error C4430: missing type

specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\include\winnt.h(5940) : error C2146: syntax error :

missing ';' before identifier 'Buffer'
1>C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\include\winnt.h(5940) : error C4430: missing type

specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio
8\VC\PlatformSDK\include\winnt.h(5940) : error C4430: missing type


첫번째 해결 방법
-----------
Wiknnt.h안에 포함하고 있는 매크를 아래와 같이 수정 합니다.
 
원본 :
typedef void *PVOID;
typedef void *POINTER_64 PVOID64;


수정 본:
#define POINTER_64 __ptr64
typedef void *PVOID;
typedef void *POINTER_64 PVOID64;


두번째 해결 방법
가장 최신의  platform SDk를 설치 하는 것입니다.



BLOG main image
취미생활
 Notice
 Category
분류 전체보기 (191)
매일매일갱생 (83)
서버개발 (1)
임베디드개발 (12)
Programming (80)
Personal Projects (6)
유용한 프로그램 (0)
 TAGS
Windows Mobile6.0 isdbt ISDB-T DirectShow DVB It C VC++ 티스토리 초대장 Java 개발자 english email 1seg project 벨소리 변경 DVB-T 군대 spam mail M480 Brazil debugging Debug Dshow English MP3 warning 영어 이메일 Error Case Wince5.0 출장 Linux 퇴사 서태지 음식 미라지폰 티스토리초대 C++ 알고리즘 Algorithm
 Calendar
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
 Recent Entries
 Recent Comments
 Recent Trackbacks
 Archive
 Link Site
zextor
괴짜 프로그래머의 일상사~@@
Gag & Peace, and more..
Kazakhstan Almaty.......
Min-A
Sadgarret
Steve Yoon's log
가슴 뛰는 삶을 살아라
오스틴 파워
GUI sin
melanie parker_Lady
제레미의 TV 2.0 이야기..
 Visitor Statistics
Total :
Today :
Yesterday :
rss