我正在使用vs2010,每当我构建任何Windows应用程序(不使用mfc或标准库-only raw api)时,msvcrt.dll都会链接到它.有很多应用程序在vs上编译但没有这种依赖.
如何从我的应用程序中删除msvcrt.dll依赖项.
这是C运行时库,如果没有运行时,则无法构建C++程序.
对于Visual Studio 2010,您实际上会链接msvcr100.dll,因为这是该版本编译器的MSVC运行时.普通的旧msvcrt.dll是MSVC6运行时,现在作为Windows系统组件提供.如果您的可执行文件链接到msvcrt.dll,那么您必须链接到其他东西,而这些东西又链接到msvcrt.dll,因为VS2010中的任何内容都不会依赖于MSVC6运行时.
您可以使用静态链接(/ MT)删除对msvcr100.dll的依赖性,但选择该选项有利有弊.如果使用静态链接,则可以将应用程序作为单个可执行文件分发.如果使用动态链接,则必须在每台目标计算机上安装运行时.使用某些第三方库将强制您使用动态链接,以便可执行文件和第三方库之间共享运行时.
| 归档时间: |
|
| 查看次数: |
1683 次 |
| 最近记录: |