惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

I
Intezer
The Register - Security
The Register - Security
博客园 - 三生石上(FineUI控件)
博客园_首页
量子位
Hugging Face - Blog
Hugging Face - Blog
Engineering at Meta
Engineering at Meta
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
GbyAI
GbyAI
D
Docker
M
MIT News - Artificial intelligence
Jina AI
Jina AI
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
有赞技术团队
有赞技术团队
IT之家
IT之家
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Troy Hunt's Blog
Cyberwarzone
Cyberwarzone
Recorded Future
Recorded Future
H
Help Net Security
L
LINUX DO - 热门话题
罗磊的独立博客
Google DeepMind News
Google DeepMind News
NISL@THU
NISL@THU
SecWiki News
SecWiki News
T
Threat Research - Cisco Blogs
T
Threatpost
Cloudbric
Cloudbric
G
GRAHAM CLULEY
S
Security @ Cisco Blogs
Hacker News - Newest:
Hacker News - Newest: "LLM"
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
P
Proofpoint News Feed
V2EX - 技术
V2EX - 技术
L
LangChain Blog
The Cloudflare Blog
雷峰网
雷峰网
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
B
Blog
T
The Blog of Author Tim Ferriss

博客园 - 飞天名猪

django 定制管理页面外观 模板文件不生效的解决方法 新手上路,django学习笔记(1) 环境部署 Windows7系统命令总结 VC 编程ANSI环境下读写Unicode文件(转载) 发布9个腾讯微博的邀请码 [转载]vc6转2008的一些实践经验 - 飞天名猪 - 博客园 IcePatch2+IceGrid部署的解决方案 ICE 开发中遇到的问题(三) Ice开发中遇到的问题(二) ICE开发中遇到的问题 (一) - 飞天名猪 - 博客园 使用ICE遇到的编译问题 dbf文件结构 判断操作系统的类型 浏览器插件-- Browser Helper Object(BHO) 四 浏览器插件-- Browser Helper Object(BHO) 三 浏览器插件-- Browser Helper Object(BHO) 二 浏览器插件-- Browser Helper Object(BHO) 一 window程序自启动的几种方法(四) windows程序自启动的几种方法(三)系统配置文件
ICE3.1.1 开发中遇到的问题(四)
飞天名猪 · 2010-06-12 · via 博客园 - 飞天名猪

到目前为止,Ice的最新版本是3.4.1。

不过Ice3.1.1是Zeroc发布的最后一个支持windows2000的官方版本。为了兼容windows2000,我不得不把我的程序分成2个版本,一个用vs2008+ice3.4进行编译。

一个用vc6.0+3.1.1进行编译。

中间遇到不少问题,归纳如下。

1、在使用Ice3.1.1 源码版本时,需要先对Ice3.1.1进行编译。

    编译方法: 用vc6打开源码下面的all.dsw, 打开tools->option->Directories.设置Ice的 include目录,lib目录,bin目录

       编译all的时候include目录不能够包含2003 psdk的路径,否则会报很多错误,如果你实在需要使用2003psdk,那么最好先删除psdk的include路径,等编译完成之后再加进来。

2、程序编译

 Ice编译完成之后,对自己写的代码编译,如果自己的代码用到了2003psdk的话,这时候把sdk的include路径包含进来,另外不要忘记stlport的include路径。如果编译出现错误

C:\ICE-3.1.1-THIRDPARTY-VC60\INCLUDE\STLPORT\stl/_threads.h(181) : error C2733: second C linkage of overloaded function 'InterlockedIncrement' not allowed
        C:\ICE-3.1.1-THIRDPARTY-VC60\INCLUDE\STLPORT\stl/_threads.h(181) : see declaration of 'InterlockedIncrement'

则需要打开C:\Ice-3.1.1-ThirdParty-VC60\include\stlport\stl_user_config.h

 将这2个开关打开

/*
 * You should define this macro if compiling with MFC - STLport <stl/_config.h>
 * then include <afx.h> instead of <windows.h> to get synchronisation primitives
 *
 */

 # define _STLP_USE_MFC 1 //不用mfc的可以不管这个


// boris : this setting is here as we cannot detect precense of new Platform SDK automatically
// If you are using new PSDK with VC++ 6.0 or lower, please define this to get correct prototypes for InterlockedXXX functions
# define _STLP_NEW_PLATFORM_SDK 1

另外还有一些常见错误的编译选项目,比如Project->Setting->link里面library modules:Ice.lib IceUtil.lib

Project Options  /GR /MDd

Project->Setting->C/C++里面的Project Options:_WIN32_WINNT=0X500

另外我还遇到一个问题,debug版本没有任何问题,但是用release版本一运行就出错。

后来发现是我在release版本里面用了/MDd参数进行编译, 在release版本中应该使用/MD

看来当初出现问题的时候没有了解这个参数具体的意思,现在才终于整明白了。