Visual c++ 链接器优化 我的链接器(链接.exe < /代码>从微软Visual C++ 2005)可能试图优化它的工作,并不会静态链接所有的对象A *.LIB < /C>文件包含到最终的可执行文件中,这是我需要的,因为下面的任务是仿形的。如何强制link.exe在最终可执行文件中包含所有符号(甚至在源代码中未引用)

Visual c++ 链接器优化 我的链接器(链接.exe < /代码>从微软Visual C++ 2005)可能试图优化它的工作,并不会静态链接所有的对象A *.LIB < /C>文件包含到最终的可执行文件中,这是我需要的,因为下面的任务是仿形的。如何强制link.exe在最终可执行文件中包含所有符号(甚至在源代码中未引用),visual-c++,linker,dynamic-linking,static-linking,Visual C++,Linker,Dynamic Linking,Static Linking,所以问题是我有一个库文件,mylib.lib,它包含foo.obj、bar.obj和qux.obj 我的源代码文件引用了foo.obj中的符号 当我用库文件mylib.lib静态链接源代码时,它只链接到foo.obj,没有其他符号连接到最终的可执行文件,而我需要它们(以便它们与进程一起加载到内存中) 我尝试了许多解决方案,但没有成功。是优化吗?我不想要它。在某种程度上,链接器就是这样工作的——它们选择那些包含符号的对象模块,这些符号被库引用,或者它应该构建的可执行文件引用,而忽略其余部分。这不是

所以问题是我有一个库文件,
mylib.lib
,它包含
foo.obj
bar.obj
qux.obj

我的源代码文件引用了
foo.obj
中的符号

当我用库文件
mylib.lib
静态链接源代码时,它只链接到
foo.obj
,没有其他符号连接到最终的可执行文件,而我需要它们(以便它们与进程一起加载到内存中)


我尝试了许多解决方案,但没有成功。是优化吗?我不想要它。

在某种程度上,链接器就是这样工作的——它们选择那些包含符号的对象模块,这些符号被库引用,或者它应该构建的可执行文件引用,而忽略其余部分。这不是一个真正的优化,这是他们应该工作的方式


确保附加对象文件链接到可执行文件的最简单方法是引用其中的符号。只需确保“函数级链接”已关闭,因为这将否定引用符号的效果。

在某种程度上,链接器就是这样工作的-它们选择那些包含符号的对象模块,这些符号由库或它应该构建的可执行文件引用,而忽略其余部分。这不是一个真正的优化,这是他们应该工作的方式

确保附加对象文件链接到可执行文件的最简单方法是引用其中的符号。只需确保“功能级别链接”已关闭,因为这将否定引用符号的效果