VC6的动态库工程dll,转成VS2008下可以使用
2011-12-06 14:19
316 查看
在最近的工作中遇到这样一个情况。现在有一个外来动态库,是VC6的工程。这边调用是VS2008,所以需要将外来库转为VS2008工程。
因为外来库也是公司内部的,所以可以控制。便将VC6的工程外来库放到VS2008下编译,并修改一些语法。然后就编译通过,发给我来使用。
在我使用时,却发现,一旦运行程序,就会弹出 ”缺少MSVCRT90.dll“。这个库在系统里默认是有的,但是不知为何却提示缺少。即使在工程设置里添加忽略MSVCRT90.lib也不行。
通过查找了很多资料,发现问题的根源在外来库的编译上。于是在外来库的编译中,就在工程设置里设置了忽略特定库MSVCRT90.lib。然后再将新的库发给我使用。测试后,发现还是不行。
最后经过测试才找到正确的使用方法:那就是在外来库的编译工程中,将忽略特定库设置为MSVCRT.lib。就可以了,具体为什么,现在还没有理论支持,如果有高手知道,请不吝赐教。
因为外来库也是公司内部的,所以可以控制。便将VC6的工程外来库放到VS2008下编译,并修改一些语法。然后就编译通过,发给我来使用。
在我使用时,却发现,一旦运行程序,就会弹出 ”缺少MSVCRT90.dll“。这个库在系统里默认是有的,但是不知为何却提示缺少。即使在工程设置里添加忽略MSVCRT90.lib也不行。
通过查找了很多资料,发现问题的根源在外来库的编译上。于是在外来库的编译中,就在工程设置里设置了忽略特定库MSVCRT90.lib。然后再将新的库发给我使用。测试后,发现还是不行。
最后经过测试才找到正确的使用方法:那就是在外来库的编译工程中,将忽略特定库设置为MSVCRT.lib。就可以了,具体为什么,现在还没有理论支持,如果有高手知道,请不吝赐教。
相关文章推荐
- 在 Unity 工程 (Project) 中使用 DLL(动态库)
- DLL中定义的类可以在应用工程中使用
- VS2008使用dataGrid控件,点击表格可以删除字符。
- delphi中使用词霸2005的动态库XdictGrb.dll实现屏幕取词
- qt调用vs2008编写的dll动态库(隐式调用)
- mingw qt(可以去掉mingwm10.dll、libgcc_s_dw2-1.dll、libstdc++-6.dll的依赖,mingw默认都是动态链接gcc的库而TDM是静态链接gcc库,tdm版本更好用。用aspack压缩没有问题。qt本身不使用异常处理)good
- VS2008工程大量使用的细节问题汇总
- VC6调用VS2008的动态库
- 动态库Dll和exe程序在vs2008下的依赖
- delphi中使用词霸2005的动态库XdictGrb.dll实现屏幕取词
- 可以供MFC调用的,QT实现的DLL(使用qt-solutions的qtwinmigrate实现)
- VS2008创建dll,并使用dll
- 在 C++Builder 工程里使用 Visual C++ DLL——第2部分:C++ 类
- VS2008创建和使用dll
- MFC使用动态库dll
- 关于*.dsw文件的关联,禁止双击后vs2008打开vc6的工程项目
- 使用C 的动态库的C工程crash 但C++ 工程不crash
- 使用vs2008制作dll文件,生成动态链接库
- VC6中使用VC2005编译的DLL问题