Posted on 2010-06-17 12:09 
S.l.e!ep.¢% 阅读(635) 
评论(0)  编辑 收藏 引用  所属分类: 
ICE 
			 
			
		 
		加入 #include <IceSSL/Plugin.h> 后出现
    error C2011: 'fd_set' : 'struct' type redefinition ......
google找到相关的解决方案
#if !defined(NDEBUG) && !defined(_STLP_DEBUG)
# define _STLP_DEBUG
#endif
#ifndef _WIN32_WINNT
#   define _WIN32_WINNT 0x400
#endif
#include <winsock2.h>
#include <Ice/Ice.h>
#include <IceSSL/Plugin.h>
#include <stdlib.h>
#include <stdio.h>
#pragma comment(lib, "Iced.lib")
#pragma comment(lib, "IceUtild.lib")
	
	
		使用前,先要进行如下设置:
添加/GR编译选项 Enable C++ RTTI。
添加ice的include、
StlPort的include、ice的lib路径,并将这些路径提到最前,以免与VC的冲突。
为Link Object/Library 
modles 加上iced.lib iceutild.lib 。
1、编译中出现
 Linking
Linking
 LINK : fatal error LNK1104: cannot open file "stlport_vc6_static.lib"
LINK : fatal error LNK1104: cannot open file "stlport_vc6_static.lib"
 Error executing link.exe.
Error executing link.exe.解决办法:
Porject->Setting->C++->CodeGeneration
 设置Use Run-time library=Debug Multithreaded DLL
2、编译中出现  
 warning C4005: '_STLP_DEBUG_CHECK' : macro redefinition
warning C4005: '_STLP_DEBUG_CHECK' : macro redefinition解
决办法:在包含ice/ice.h之前添加以下代码
 #if !defined(NDEBUG) && !defined(_STLP_DEBUG)
#if !defined(NDEBUG) && !defined(_STLP_DEBUG)
 # define _STLP_DEBUG
# define _STLP_DEBUG
 #endif
#endif3、
编译中出现
 error C2065: 'TryEnterCriticalSection' : undeclared identifier
error C2065: 'TryEnterCriticalSection' : undeclared identifier解
决办法:
在stdafx.h中,加上
 #ifndef _WIN32_WINNT
#ifndef _WIN32_WINNT
 #   define _WIN32_WINNT 0x400
#   define _WIN32_WINNT 0x400
 #endif
#endif4、
编译中出现
 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_??0GCRecMutexInit@IceUtil@@QAE@XZ)
 error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall IceUtil::GCRecMutexInit::~GCRecMutexInit(void)" (__imp_??1GCRecMutexInit@IceUtil@@QAE@XZ)
error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall IceUtil::GCRecMutexInit::~GCRecMutexInit(void)" (__imp_??1GCRecMutexInit@IceUtil@@QAE@XZ)
 D
D解决办法:
Porject->Setting->Link->
 Object/Library modles:加上iced.lib iceutild.lib 
5、编译中出现
 error C2061: syntax error : identifier 'SC_HANDLE'
error C2061: syntax error : identifier 'SC_HANDLE'
 error C2061: syntax error : identifier 'SERVICE_STATUS'
error C2061: syntax error : identifier 'SERVICE_STATUS'
 error C2146: syntax error : missing ';' before identifier '_statusHandle'
error C2146: syntax error : missing ';' before identifier '_statusHandle'
 error C2501: 'SERVICE_STATUS_HANDLE' : missing storage-class or type specifiers
error C2501: 'SERVICE_STATUS_HANDLE' : missing storage-class or type specifiers
 error C2501: '_statusHandle' : missing storage-class or type specifiers
error C2501: '_statusHandle' : missing storage-class or type specifiers
 error C2146: syntax error : missing ';' before identifier '_status'
error C2146: syntax error : missing ';' before identifier '_status'
 error C2501: 'SERVICE_STATUS' : missing storage-class or type specifiers
error C2501: 'SERVICE_STATUS' : missing storage-class or type specifiers
 error C2501: '_status' : missing storage-class or type specifiers
error C2501: '_status' : missing storage-class or type specifiers解
决办法:
在stdafx.h或其他文件中增加 
 #include  <WINSVC.H>
#include  <WINSVC.H>作
者:李珍宝(
http://zhenbaodao51.51.net ,
http://www.lizhenbao.com , 
http://www.cnitblog.com/lizhenbao/ ),
转载请注明出处
完。