问题描述
|
我正在Visual C ++ 2008中构建DLL,并且希望将运行时静态链接到DLL。因此,我进入了项目选项并将“运行时库”设置为“ 0”。过去,这一直适用于其他项目。但是,当我构建此文件时,我仍然会以Dependency Walker结尾,在列表中显示MSVCR90.dll。
有人知道会导致什么吗?
解决方法
项目+属性,链接器,命令行。添加/ verbose选项。构建+重建。 “输出”窗口显示链接器搜索符号。请注意msvcrt.lib,这是对msvcr90.dll的依赖关系
典型的原因是链接一个包含一个或多个用/ MD编译的.obj文件的.lib。通过#pragma comment(lib,msvcrt.lib)指令注入对msvcrt.lib的依赖项。这告诉链接器搜索msvcrt.lib,而无需在“链接器,输入,其他依赖关系”中明确将其指定为依赖项。