描述:如果有一个exe工程,它依赖于A.lib,B.lib,A.lib和B.DLL我同样有他们的源码工程。依赖顺序是这样的exe->A.lib->B.DLL。那么如果我改动了B的源码,编译exe工程的时候,编译器和连接器必须知道,先编译B,再把B链接到A,最后重新生成exe。这样的顺序是可以指定的:
1.可以通过#pragma(lib,A.lib,B.lib)指定。
2.命令行选项/out可以反映出来。比如/out:XX.exe A.lib B.dll。
总结,就是越偏向底层的组件和库就放后面。这个跟GCC和G++的连接器是一样的。不然就会出错。
references:
http://stackoverflow.com/questions/2765403/visual-studio-2010-library-linking-order