Compiling...
1>DlgProxy.cpp
1>g:/my document/visual studio 2005/projects/word/word/capplication.h(3) : warning C4278: 'ExitWindows': identifier in type library 'C://Program Files//Microsoft Office//OFFICE11//MSWORD.OLB' is already a macro; use the 'rename' qualifier
1>g:/my document/visual studio 2005/projects/word/word/capplication.h(3) : warning C4278: 'FindText': identifier in type library 'C://Program Files//Microsoft Office//OFFICE11//MSWORD.OLB' is already a macro; use the 'rename' qualifier
1>g:/my document/visual studio 2005/projects/word/word/capplication.h(3) : warning C4278: 'FindText': identifier in type library 'C://Program Files//Microsoft Office//OFFICE11//MSWORD.OLB' is already a macro; use the 'rename' qualifier
1>g:/my document/visual studio 2005/projects/word/word/capplication.h(3) : warning C4278: 'FindText': identifier in type library 'C://Program Files//Microsoft Office//OFFICE11//MSWORD.OLB' is already a macro; use the 'rename' qualifier
1>g:/my document/visual studio 2005/projects/word/word/capplication.h(3) : warning C4278: 'FindText': identifier in type library 'C://Program Files//Microsoft Office//OFFICE11//MSWORD.OLB' is already a macro; use the 'rename' qualifier
1>g:/my document/visual studio 2005/projects/word/word/debug/msword.tlh(1073) : error C2786: 'BOOL (__stdcall *)(HDC,int,int,int,int)' : invalid operand for __uuidof
1>g:/my document/visual studio 2005/projects/word/word/debug/msword.tlh(1073) : error C2923: '_com_IIID' : 'Rectangle' is not a valid template type argument for parameter '_Interface'
1> c:/program files/microsoft visual studio 8/vc/platformsdk/include/wingdi.h(3514) : see declaration of 'Rectangle'
1>g:/my document/visual studio 2005/projects/word/word/debug/msword.tlh(1073) : error C3203: '_com_IIID' : unspecialized class template can't be used as a template argument for template parameter '_IIID', expected a real type
1>g:/my document/visual studio 2005/projects/word/word/debug/msword.tlh(7113) : warning C4003: not enough actual parameters for macro 'ExitWindows'
1>g:/my document/visual studio 2005/projects/word/word/debug/msword.tlh(7113) : error C2059: syntax error : 'constant'
1>g:/my document/visual studio 2005/projects/word/word/debug/msword.tlh(13448) : error C2146: syntax error : missing ';' before identifier 'Fonts'
1>g:/my document/visual studio 2005/projects/word/word/debug/msword.tlh(13448) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>g:/my document/visual studio 2005/projects/word/word/debug/msword.tlh(13448) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>g:/my document/visual studio 2005/projects/word/word/debug/msword.tlh(13503) : error C2146: syntax error : missing ';' before identifier 'GetFonts'
1>Generating Code...
1>Build log was saved at "file://g:/My Document/Visual Studio 2005/Projects/word/word/Debug/BuildLog.htm"
1>word - 726 error(s), 107 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
我 Kao, 共 726 个错误 . 原因真正的能吓死人 .
MFC 自己生成如下代码 :
#import "C://Program Files//Microsoft Office//OFFICE11//MSWORD.OLB" no_namespace
它导致和原来的名字冲突.
所以把它改正成:
#import "C://Program Files//Microsoft Office//OFFICE11//MSWORD.OLB" no_namespace raw_interfaces_only /
rename("FindText","_FindText") /
rename("Rectangle","_Rectangle") /
rename("ExitWindows","_ExitWindows")
绿色部分是要加 的部分 . 注意 : 如果 Rew_interfaces_only 和 MFC 自己生成的代码不在同一行时 , 要在 MFC 自 动生成行最后加 ’/’ 表示续行 . 在一行则不用加 .
原帖:http://hi.baidu.com/%B8%F5%D0%C4/blog/item/d23293826af01f97f703a67b.html

本文详细阐述了在使用MFC和OLE库时遇到的冲突问题,并提供了解决方案,包括如何修改代码导入语句以避免名称冲突,以及在不同情况下正确使用续行符。同时,文章还提供了生成正确代码的具体步骤。

被折叠的 条评论
为什么被折叠?



