当您在Visual Studio中选择/MTd
静态链接时,它会尝试静态链接到每个lib还是系统库有一些例外?
答案 0 :(得分:0)
描述:/ MTd:定义_DEBUG和_MT。此选项还会使编译器将库名称LIBCMTD.lib放入.obj文件中,以便链接器将使用LIBCMTD.lib来解析外部符号。
从我所看到的,没有静态链接。如果要进行静态链接,则需要使用ILMerge。即便如此,您也不应该尝试合并所需的.Net Framework参考,因为它们经常引用您可能会遗漏的其他参考。甚至可能因为他们使用GAC进行参考。
答案 1 :(得分:0)
/ MT和/ MD标志仅定义C / C ++运行时库的链接方式。它对其他库,系统或用户定义没有影响。
系统库,例如kernel32.lib,user32.lib等)是导入库 - 没有要链接的静态库。