您的位置:首页 > 其它

使用ICE遇到的编译问题

2007-08-17 10:57 525 查看
使用前,先要进行如下设置:
添加/GR编译选项 Enable C++ RTTI。
添加ice的include、StlPort的include、ice的lib路径,并将这些路径提到最前,以免与VC的冲突。
为Link Object/Library modles 加上iced.lib iceutild.lib 。
1、编译中出现 LinkingLINK : fatal error LNK1104: cannot open file "stlport_vc6_static.lib"
Error executing link.exe. 解决办法:
Porject->Setting->C++->CodeGeneration 设置Use Run-time library=Debug Multithreaded DLL
2、编译中出现 warning C4005: '_STLP_DEBUG_CHECK' : macro redefinition 解决办法:在包含ice/ice.h之前添加以下代码 #if !defined(NDEBUG) && !defined(_STLP_DEBUG)
# define _STLP_DEBUG
#endif 3、编译中出现 error C2065: 'TryEnterCriticalSection' : undeclared identifier 解决办法:
在stdafx.h中,加上 #ifndef _WIN32_WINNT
# define _WIN32_WINNT 0x400
#endif 4、编译中出现 error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall IceUtil::GCRecMutexInit::GCRecMutexInit(void)" (__imp_??0GCRecMutexInit@IceUtil@@QAE@XZ)
error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall IceUtil::GCRecMutexInit::~GCRecMutexInit(void)" (__imp_??1GCRecMutexInit@IceUtil@@QAE@XZ)
D 解决办法:
Porject->Setting->Link-> Object/Library modles:加上iced.lib iceutild.lib
5、编译中出现 error C2061: syntax error : identifier 'SC_HANDLE'
error C2061: syntax error : identifier 'SERVICE_STATUS'
error C2146: syntax error : missing ';' before identifier '_statusHandle'
error C2501: 'SERVICE_STATUS_HANDLE' : missing storage-class or type specifiers
error C2501: '_statusHandle' : missing storage-class or type specifiers
error C2146: syntax error : missing ';' before identifier '_status'
error C2501: 'SERVICE_STATUS' : missing storage-class or type specifiers
error C2501: '_status' : missing storage-class or type specifiers 解决办法:
在stdafx.h或其他文件中增加 #include <WINSVC.H> 作者:李珍宝(http://zhenbaodao51.51.nethttp://www.lizhenbao.com , http://www.cnitblog.com/lizhenbao/ ),转载请注明出处
完。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: