c++ - Visual Studio : How to specify different runtime libraries for the linker?(/MTd、MDd 等)

标签 c++ visual-studio-2008 visual-c++ dll linker

我正在链接到 VS2008 中的几个库。如果我对链接器的了解是正确的,MTd 用于静态链接而 MDd 用于动态链接(到 DLL)。我的目标是静态链接一些库和动态链接其他库。项目选项似乎只有一个设置适用于链接器输入中的所有库。我该怎么做?

最佳答案

在您设置项目后,您的项目将获得一个合理的 C 运行时库默认值,具体取决于您如何回答新建项目向导的提示。您可以按如下方式检查和更改(如果需要):

  • 在解决方案资源管理器中右键单击相关项目,选择属性
  • 查看配置属性、C/C++、代码生成、运行时库。

您可以根据需要链接其他库,您只需在“链接器”、“输入”、“附加依赖项”下指定要链接到的库。

即使您链接到 DLL,它仍然会有一个 .LIB 文件(对于 DLL 具有正确的形式)来解析外部引用,除非您手动加载 DLL 并发现所需的函数入口点。

您确实需要确保您链接的 LIB 文件使用与您的应用相同的 CRT,否则可能会出现意外错误。

关于c++ - Visual Studio : How to specify different runtime libraries for the linker?(/MTd、MDd 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4307429/

相关文章:

c++ - 我可以通过 C++ 中的原始偏移量手动访问字段吗?

c++ - 没有制定目标 `libbrcmEGL.so' 的规则, `HelloTriangle' 需要

c++ - 如何获取通过网络驱动器访问的文件的 UNC 路径?

string - 如何检查 CComBSTR 是否以特定前缀开头?

c++ - 构建 GLUI2 库 (Ubuntu)

c++ - 文件记录的有效方法

asp.net - 为什么 ASP.NET 加载我的 Web 应用程序程序集的错误版本?

visual-studio - 在 Visual Studio 2008 中在拆分窗口之间跳转的热键是什么

c# - 如何防止dll被加载到其他应用程序中

C++ 内联汇编 : how to deal with references?