Mas*_*ler 5 c visual-c++-2008 visual-c++
我正在Visual C++ 2008中构建一个DLL,我希望将运行时静态链接到DLL中.所以我进入项目选项并将Runtime Library设置为Multi-threaded (/MT).这在过去一直适用于其他项目.但是当我构建这个时,我仍然最终得到了Dependency Walker在列表中显示MSVCR90.dll.
有人知道是什么原因引起的吗?
项目+属性、链接器、命令行。添加 /verbose 选项。构建+重建。输出窗口显示链接器搜索符号。留意 msvcrt.lib,它会引入对 msvcr90.dll 的依赖
典型原因是链接的 .lib 具有一个或多个使用 /MD 编译的 .obj 文件。对 msvcrt.lib 的依赖项通过 #pragma comment(lib, msvcrt.lib) 指令注入。这告诉链接器搜索 msvcrt.lib,而无需您在“链接器”、“输入”、“附加依赖项”中显式将其指定为依赖项。