在我的代碼中有沒有一種方法可以鏈接到我需要的庫文件,這樣我就不必設置每個單獨的編譯器了?如何將.lib文件鏈接到編譯器庫文件夾中?
我希望能夠使用Visual C++。net 2005,G ++等。我試圖製作一個跨平臺的遊戲引擎,但是有些平臺使用自定義編譯器,我想盡可能使我的引擎儘可能多樣化。
在我的代碼中有沒有一種方法可以鏈接到我需要的庫文件,這樣我就不必設置每個單獨的編譯器了?如何將.lib文件鏈接到編譯器庫文件夾中?
我希望能夠使用Visual C++。net 2005,G ++等。我試圖製作一個跨平臺的遊戲引擎,但是有些平臺使用自定義編譯器,我想盡可能使我的引擎儘可能多樣化。
我知道Visual C++有#pragma
註釋行。不確定別人是否會這樣做。
#pragma comment(lib, "SomeLib.lib")
你可能想看的就像Scons。 http://www.scons.org/wiki/FrequentlyAskedQuestions#head-00ce208eece451fe9879c6f8dd1c45b56f4c76d1
我認爲這將有助於你:
#ifdef _DEBUG
# pragma comment(lib, "dir1/dir2/mylibd.lib")
#else
# pragma comment(lib, "dir1/dir2/mylib.lib")
#endif
編輯:大概G ++不支持通過代碼鏈接。丹尼爾建議makefile,這將是一個不錯的選擇。
我不認爲這是交叉編譯器。 – 2009-05-20 15:55:23
我不沒有完全理解你的問題確定有一種方法可以在UNIX中通過-L dir選項 指定你的庫,對於visual C++,似乎可以使用/ LIBPATH來覆蓋環境庫路徑。
我懷疑你會想在你的代碼中執行它,因爲庫路徑通常與頭文件不一樣。
你會想創建一個自定義make文件,爲你使用的不同平臺和工具設置正確的編譯器選項和路徑。似乎這就是建議的mpc工具試圖完成的事情。
Qt的qmake聽起來很像mpc。您可以在.pro文件中定義項目和參數,然後qmake創建一個Makefile或Visual Studio項目文件。
這是跨平臺開發的難題之一,但好消息是所需的庫列表通常不會經常改變。
哪些編譯器? – 2009-05-20 15:45:36