李珍宝的blog

李珍宝的BLOG

  IT博客 :: 首页 :: 联系 :: 聚合  :: 管理
  51 Posts :: 1 Stories :: 160 Comments :: 0 Trackbacks
使用前,先要进行如下设置:

添加/GR编译选项 Enable C++ RTTI。
添加ice的include、StlPort的include、ice的lib路径,并将这些路径提到最前,以免与VC的冲突。
为Link Object/Library modles 加上iced.lib iceutild.lib 。



1、编译中出现
Linking
LINK : 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.net ,http://www.lizhenbao.com , http://www.cnitblog.com/lizhenbao/ ),转载请注明出处
完。
posted on 2005-11-01 16:58 李珍宝 阅读(6071) 评论(4)  编辑 收藏 引用 所属分类: 软件

Feedback

# re: 使用Ice-2.1.2-VC60过程中的问题 2005-11-10 09:11 陈文
你好,你上面提到的第5个问题,我遇到了,按你提示的方法加了之后,运行还是通不过,而且他又显示了<WINSVC.H>里面的问题,如下:
--------------------Configuration: vc2 - Win32 Debug--------------------
Compiling...
StdAfx.cpp
d:\program files\microsoft visual studio\vc98\include\winsvc.h(177) : error C2146: syntax error : missing ';' before identifier 'lpDescription'
d:\program files\microsoft visual studio\vc98\include\winsvc.h(177) : error C2501: 'LPSTR' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\winsvc.h(177) : error C2501: 'lpDescription' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\winsvc.h(183) : error C2146: syntax error : missing ';' before identifier 'lpDescription'
d:\program files\microsoft visual studio\vc98\include\winsvc.h(183) : error C2501: 'LPWSTR' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\winsvc.h(183) : error C2501: 'lpDescription' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\winsvc.h(205) : error C2146: syntax error : missing ';' before identifier 'Delay'
d:\program files\microsoft visual studio\vc98\include\winsvc.h(205) : error C2501: 'DWORD' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\winsvc.h(205) : error C2501: 'Delay' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\winsvc.h(209) : error C2146: syntax error : missing ';' before identifier 'dwResetPeriod'
d:\program files\microsoft visual studio\vc98\include\winsvc.h(209) : error C2501: 'DWORD' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\winsvc.h(209) : error C2501: 'dwResetPeriod' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\winsvc.h(210) : error C2146: syntax error : missing ';' before identifier 'lpRebootMsg'
d:\program files\microsoft visual studio\vc98\include\winsvc.h(210) : error C2501: 'LPSTR' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\winsvc.h(210) : error C2501: 'lpRebootMsg' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\winsvc.h(211) : error C2146: syntax error : missing ';' before identifier 'lpCommand'
d:\program files\microsoft visual studio\vc98\include\winsvc.h(211) : error C2501: 'LPSTR' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\winsvc.h(211) : error C2501: 'lpCommand' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\winsvc.h(212) : error C2146: syntax error : missing ';' before identifier 'cActions'
d:\program files\microsoft visual studio\vc98\include\winsvc.h(212) : error C2501: 'DWORD' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\winsvc.h(212) : error C2501: 'cActions' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\winsvc.h(219) : error C2146: syntax error : missing ';' before identifier 'dwResetPeriod'
d:\program files\microsoft visual studio\vc98\include\winsvc.h(219) : error C2501: 'DWORD' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\winsvc.h(219) : error C2501: 'dwResetPeriod' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\winsvc.h(220) : error C2146: syntax error : missing ';' before identifier 'lpRebootMsg'
d:\program files\microsoft visual studio\vc98\include\winsvc.h(220) : error C2501: 'LPWSTR' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\winsvc.h(220) : error C2501: 'lpRebootMsg' : missing storage-class or type specifiers
C2501: 'cActions' : missing storage-class or type specifiers
d:\program files\microsoft visual studio\vc98\include\winsvc.h(241) : error C2146: syntax error : missing ';' before identifier 'SC_HANDLE'
d:\program files\microsoft visual studio\vc98\include\winsvc.h(241) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

vc2.exe - 35 error(s), 0 warning(s)

请问还有什么解决办法吗?  回复  更多评论
  

# re: 使用Ice-2.1.2-VC60过程中的问题 2005-11-10 09:42 李珍宝
可以将完整代码发到 lizhenbao @gmail.com ,我看一下。  回复  更多评论
  

# re: 使用Ice-2.1.2-VC60过程中的问题 2006-03-13 17:53 jessewang
我这里有个奇怪的问题,每次编译都是可以通过的,调用ice的的时候,就有一个debug错误,然后跳到vcg8/crt/src/crttomsg.c

if (rterrnum != _RT_CRNL)
{
if (1 == _CrtDbgReport(_CRT_ERROR, NULL, 0, NULL, rterrs[tblindx].rterrtxt))
_CrtDbgBreak();
}
这里了  回复  更多评论
  

# re: 使用Ice-2.1.2-VC60过程中的问题 2006-03-14 08:17 李珍宝
我装了vc6和.Net2005,但在电脑上没有找到 vcg8/crt/src/crttomsg.c 文件。
可能是你调用ICE函数的顺序不对,参照ICE给的范例来写。
ICE目录\demo\book\printer 下有一个最简单的范例。

先减少你的代码,直到运行正常,再逐步加上ICE相关代码,直到找出错误行。  回复  更多评论
  

只有注册用户登录后才能发表评论。