2011-05-26 66 views
5

是否有可能自動鏈接一個C++靜態庫在Visual Studio 2008?或者,從標準方法使用有什麼改進?自動指定.LIB在標題爲Visual Studio 2008的C++

我開發了一套C++庫和連接/測試它們是一個相當痛苦。通常的做法是在測試客戶端中指定.lib文件,但現在列表已經增長得非常大(我自己的庫,opencv,boost和其他),而且我總是錯過了一些東西,因爲我在調試和發佈模式之間切換,gpu和非gpu等。當我打開項目屬性中的鏈接器時,列表會滾動一段時間。

我希望我可以自動指定,如果客戶來#include東西,該項目還應該鏈接到指定的.lib(調試/釋放)。這是可能的還是有一種替代方法可以幫助用最少的用戶交互來管理聯繫?

回答

5

使用#pragma comment(lib, "name_of_the_library.lib")#pragma comment的其他有用選項可在MSDN page找到。

關於調試與推出配置:通常_DEBUG預處理宏用於區分。 Visual C++頭文件肯定會將其用於您想要的相同目的;例如這是從VC++ 2010 use_ansi.h文件:

#ifdef _DEBUG 
#pragma comment(lib,"msvcprtd") 
#else /* _DEBUG */ 
#pragma comment(lib,"msvcprt") 
#endif /* _DEBUG */ 
+0

http://support.microsoft.com/kb/153901 – Steve 2011-05-26 19:22:20

+1

雖然它可能不像它的第一眼,這正是你要尋找的,@史蒂夫。 – 2011-05-26 19:28:45

+1

@Steve,即知識庫文章涉及到Visual C++ 4.0 - 不是你會想現在使用:) – 2011-05-26 19:31:35