我的代码中是否有一种方法可以链接到我需要的库文件,这样我就不必设置我使用的每个编译器了?
我希望能够使用Visual C ++。net 2005,G ++等。我正在尝试制作一个跨平台的游戏引擎,但有些平台使用自定义编译器,我想让我的引擎尽可能多样化。
答案 0 :(得分:2)
有一个名为mpc的工具可以从同一个mpc DSL创建makefile和VC项目。如果您要使用该工具,您将在pmc文件中指定链接依赖项(库)一次,它将为Visual Studio生成包含有关如何链接库的必要信息的g ++和项目文件的makefile。
来自mpc主页:
支持多个版本的make(GNU,Microsoft,Borland,Automake),Visual C ++ 6.0和Visual Studio 2003,2005和2008。
答案 1 :(得分:1)
我不完全理解您的问题,确定有一种方法可以通过-L dir选项在UNIX中指定库 对于Visual C ++,似乎可以使用/ LIBPATH来覆盖环境库路径。
我怀疑你是否想在你的代码中执行它,因为库路径通常与头文件不是静态相同的。
您可能希望创建一个自定义生成文件,为您正在使用的不同平台和工具设置正确的编译器选项和路径。似乎这是建议的mpc工具试图完成的。
答案 2 :(得分:0)
我知道Visual C ++有#pragma
注释行。不确定其他人是否这样做。
#pragma comment(lib, "SomeLib.lib")
你可能想要看的是像Scons。 http://www.scons.org/wiki/FrequentlyAskedQuestions#head-00ce208eece451fe9879c6f8dd1c45b56f4c76d1
答案 3 :(得分:0)
我认为这会对你有所帮助:
#ifdef _DEBUG
# pragma comment( lib, "dir1/dir2/mylibd.lib" )
#else
# pragma comment( lib, "dir1/dir2/mylib.lib" )
#endif
编辑:可能g ++不支持通过代码链接。丹尼尔建议使用makefile,这将是一个不错的选择。
答案 4 :(得分:0)
Qt的qmake听起来与mpc类似。您可以在.pro文件中定义项目和参数,然后qmake创建一个Makefile或Visual Studio项目文件。
这是跨平台开发的难点之一,但好消息是所需的库列表通常不会经常改变。