Visual Studio中的lib的链接顺序

描述:如果有一个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

posted @ 2015-05-12 09:49  foo__hack  阅读(718)  评论(0编辑  收藏  举报