2009-05-20 74 views
2

在我的代碼中有沒有一種方法可以鏈接到我需要的庫文件,這樣我就不必設置每個單獨的編譯器了?如何將.lib文件鏈接到編譯器庫文件夾中?

我希望能夠使用Visual C++。net 2005,G ++等。我試圖製作一個跨平臺的遊戲引擎,但是有些平臺使用自定義編譯器,我想盡可能使我的引擎儘可能多樣化。

+0

哪些編譯器? – 2009-05-20 15:45:36

回答

2

有一個名爲mpc的工具,可以從同一個mpc DSL創建makefile和VC項目。如果您要使用該工具,您可以在pmc文件中指定一次鏈接依賴項(庫),它將爲Visual Studio生成g ++和項目文件的makefile,其中包含關於如何鏈接庫的必要信息。

mpc主頁:

支持化妝的多個版本(GNU,微軟,Borland公司,Automake的)時,Visual C++ 6.0和Visual Studio 2003年,2005年和2008年

0

我認爲這將有助於你:

#ifdef _DEBUG 
# pragma comment(lib, "dir1/dir2/mylibd.lib") 
#else 
# pragma comment(lib, "dir1/dir2/mylib.lib") 
#endif 

編輯:大概G ++不支持通過代碼鏈接。丹尼爾建議makefile,這將是一個不錯的選擇。

+0

我不認爲這是交叉編譯器。 – 2009-05-20 15:55:23

1

我不沒有完全理解你的問題確定有一種方法可以在UNIX中通過-L dir選項 指定你的庫,對於visual C++,似乎可以使用/ LIBPATH來覆蓋環境庫路徑。

我懷疑你會想在你的代碼中執行它,因爲庫路徑通常與頭文件不一樣。

你會想創建一個自定義make文件,爲你使用的不同平臺和工具設置正確的編譯器選項和路徑。似乎這就是建議的mpc工具試圖完成的事情。

0

Qt的qmake聽起來很像mpc。您可以在.pro文件中定義項目和參數,然後qmake創建一個Makefile或Visual Studio項目文件。

這是跨平臺開發的難題之一,但好消息是所需的庫列表通常不會經常改變。

相關問題