在Visual Studio中静态链接库

问题描述:

当您在Visual Studio中选择/MTd静态链接时,它会尝试静态链接到每个库还是有一些系统库异常?在Visual Studio中静态链接库

说明:/ MTd:定义_DEBUG和_MT。此选项还会使编译器将库名称LIBCMTD.lib放入.obj文件,以便链接器将使用LIBCMTD.lib来解析外部符号。

从我可以看到没有静态链接。如果你想做静态链接,你需要使用ILMerge。即使这样,你也不应该尝试在所需的.Net Framework参考文件中进行合并,因为它们经常会引用其他您可能会错过的内容。使用GAC进行参考可能甚至不可能。

/MT和/ MD标志只定义了C/C++运行时库如何链接。它对其他库,系统或用户定义没有影响。

系统库,如kernel32.lib,user32.lib等)是导入库 - 没有静态库链接。