DuiLib VS2008项目移到VS2005上
来源:互联网 发布:我欲封天进阶数据 编辑:程序博客网 时间:2024/05/26 19:17
新开发一个基于DirectUI的新版本客户端,参照的DuiLib源码是从GitHub上拿来的,是用VS2008开发的项目。
项目地址 https://github.com/duilib/duilib
第一时间的想法是直接用VS2008进行开发,由于公司之前在用的客户端是VS2005下的,于是想将一些基础的功能模块通过DLL方式进行调用。
一段时间后,出现了个问题。VS2008的exe在调用VS2005生成的DLL时,如果用STL容器进行传参,在这容器析构的时候将会抛出异常。花了些时间找到了原因。
http://blog.csdn.net/htt9931/article/details/8652962
这里也得出了一点教训,STL切忌在DLL间传递,特别是exe和dll 的VC版本不一样的时候。
为减少工作量之后将DuiLib从VS2008移植到VS2005。
<1>用记事本打开解决方案文件“解决方案名.sln”,然后修改最上面两行为如下代码:
Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005
<1>用记事本打开每个项目的“项目名.vcproj”,然后修改第四行为如下代码:Version="8.00"
这样VS2005就能打开VS2008的工程进行编译了。
Duilib的工程在05下编译,报错_RPC__out__RPC__in 未定义的错误。
解决方案为:
1、下载WDK 点击打开链接 下载链接版本为7.1.0
2、安装WDK
3、VS2005的配置 工具--》选项--》项目和解决方案--》VC++目录
再次进行编译,发现报了几个无法解析的错误。
无法解析的外部符号“unsigned int (__stdcall*ATL::g_pfnGetThreadACP)(void)”(?g_pfnGetThreadACP@ATL@@3P6GIXZA)
解决方案为:
向项目依赖项中添加 atlsd.lib
具体操作方法
1、添加文件引用的lib静态库路径 工程--》属性--》配置属性--》链接器--》常规--》附加库目录
2、在工程中添加引用的lib文件名 工程--》属性--》配置属性--》链接器--》输入--》附加依赖项
这样,VS2008的Duilib工程就能在VS2005下编译运行了。
- DuiLib VS2008项目移到VS2005上
- VS2008打开VS2005项目
- VS2005打开VS2008项目
- vs2005 打开 vs2008项目
- VS2005打开VS2008的项目
- VS2005打开VS2008的项目
- 用VS2005 打开VS2008项目
- 用vs2005打开vs2008项目~
- react-native项目移到mac上
- 从VS2008项目转为VS2005项目
- VS2008项目转为VS2005项目的方法
- vs2008项目转化为vs2005项目
- 在vs2008中打开以前在vs2005上做的项目
- VS2008项目在VS2005中打开
- 将vs2008 项目转换VS2005解决方案
- 将vs2008 项目转换VS2005解决方案
- 使用vs2005和vs2008打开同一项目
- 用VS2005打开VS2008项目的技巧!
- startActivityForResult和onActivityResult简介
- QML之Item详解
- php的memcached
- linux获取时间函数及计算时间差
- 黑马程序员--Java语言基础一
- DuiLib VS2008项目移到VS2005上
- Stack的三种含义
- Eclipse开启代码自动提示功能
- 第十五周 OJ上玩指针--两数的和与差(用参数带回)
- ORA-01722:无效数字
- Insert Interval
- Struts2多个文件上传的分析及源代码说明
- Effective Modern C++
- tomcat---访问url故意把项目名写错就报404的解决方法