在我的代码中有没有一种方法可以链接到我需要的库文件,这样我就不必设置每个单独的编译器了?如何将.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