gpt4 book ai didi

c - 为什么即使我设置了/MT 选项我也会看到 MSVCR90 依赖项?

转载 作者:太空狗 更新时间:2023-10-29 15:04:52 25 4
gpt4 key购买 nike

我正在 Visual C++ 2008 中构建一个 DLL,我希望将运行时静态链接到 DLL 中。所以我进入项目选项并将运行时库设置为Multi-threaded (/MT)。这在过去一直适用于其他项目。但是当我构建这个时,我仍然以 Dependency Walker 在列表中显示 MSVCR90.dll 结束。

有人知道是什么原因造成的吗?

最佳答案

项目 + 属性、链接器、命令行。添加/verbose 选项。 build +重建。 “输出”窗口显示链接器搜索符号。注意 msvcrt.lib,它会引入对 msvcr90.dll 的依赖

典型的原因是链接一个 .lib,该 lib 包含一个或多个使用/MD 编译的 .obj 文件。使用 #pragma comment(lib, msvcrt.lib) 指令注入(inject)对 msvcrt.lib 的依赖。这告诉链接器搜索 msvcrt.lib,而无需您在链接器、输入、附加依赖项中将其明确指定为依赖项。

关于c - 为什么即使我设置了/MT 选项我也会看到 MSVCR90 依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6397033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com