如何不对msvcr100.dll进行链接
How to not link against msvcr100.dll?
我正在Visual Studio 10中编译项目,编译后的可执行文件在win 7上运行良好,但由于缺少msvcrt100.dll,它在win xp上不起作用。我尝试使用"/NOTDEFAULTLIB",但它也删除了我使用的其他一些外部库。有没有办法不链接到最新的Microsoft运行库?
提前谢谢。
要不链接DLL,必须静态链接运行时。
要执行此操作,请转到"C/C++属性"->"代码生成",然后在"运行库"下的下拉列表中选择"多线程(/MT)"或"多线程调试(/MTd)"。请注意,一旦您使用了静态运行库,您链接的所有其他库代码也必须使用相同的设置构建。您还可能需要在"附加依赖项"下的Linker->Input中添加额外的库。
它只是偶然地在Windows7机器上工作,之前有人安装了那个DLL。
除了创建安装程序(使用安装程序项目很容易)之外,一个简单的修复方法是将msvcr100.dll与您自己的二进制文件一起复制。如果你只有EXE,那么简单的解决方案就是链接CRT的静态版本。切换到Release版本,右键单击项目、属性、C/C++、代码生成、运行库设置。将其从默认值/MD更改为/MT。
相关文章:
- Windows 链接器是否使用 LoadLibrary 解析 DLL 中未定义的符号?
- 优化链接的 DLL
- 如何链接 DLL 以供 LoadLibrary() 使用(在 Windows 上的 C++ 中)并从调用 exe 导入变
- 不能使用隐式链接.dll中的类
- 显式链接 DLL 和类方法
- 哪种方法更好获取静态链接DLL的模块句柄(HMODULE) - 使用GetModuleHandleEx()或LoadLibrary()?
- 在QtCreator中链接dll的未定义引用错误
- 如何在qt中链接dll
- 在虚幻4插件中链接DLL
- 我们可以动态链接 DLL 的不同方法是什么
- 如果使用LoadLibrary显式链接dll,则列出从PE文件导入的函数
- 静态链接.dll和cmake/qt创建者?
- 当显式动态链接dll时,使用std::unique_lock会破坏XP的兼容性
- 导出:使用c++链接DLL
- 使用xerces链接DLL会给出未定义的符号
- Visual Studio中的链接dll
- 链接DLL时命令行错误
- 如何链接.dll库与c++ VS项目
- 设置显式链接DLL的内部变量
- LNK 2019试图链接DLL和EXE