将C ++应用程序从Windows移植到GNU / Linux。

时间:2010-05-16 15:29:44

标签: linux makefile eclipse-cdt

我正在尝试将计算机游戏从Windows移植到GNU / Linux。它使用Ogre3D,CEGUI,ogreogg和ogrenewt。据我所知,所有依赖项都适用于GNU / Linux,而游戏本身没有特定于软件的代码。

以下是问题部分: 有没有简单的方法将visual studio 2008项目移植到GNU / Linux工具链?

如何管理依赖项?在Visual Studio中,我只是将它们添加到属性表或默认目录中。我假设在GNU / Linux autoconf并做好照顾,但以哪种方式?我是否必须手动添加每个.cpp.hpp,还是有某种方法可以实现自动化?如何解决不同系统上不同位置的依赖问题?我想在GNU / Linux下使用Eclipse作为我的IDE。

2 个答案:

答案 0 :(得分:1)

你基本上要问的是:什么是GNU / Linux的良好构建系统。这个问题没有明确的答案。 Make + autoconf是标准的做事方式,但是你可以对cmake更开心,因为cmake具有跨平台的优势。

答案 1 :(得分:1)

正如@pmr所说,你真的在​​寻找一个构建系统。传统上使用GNU Autotools(Automake,Autoconf等)时,这些工具存在很多问题,并且它们的学习曲线非常陡峭。相反,我强烈建议您使用CMake。 CMake有点像元构建系统,因为CMake使用CMake项目描述为各种构建系统生成项目;默认情况下,CMake从其项目描述生成Makefile项目,但它也可以为Visual Studio,Xcode,KDevelop和其他项目生成项目。您可能会发现C++ Application Project TemplateC++ Library Project Template可用作如何使用CMake构建系统的示例。关于CMake的教程和其他介绍材料可以在CMake Wiki找到,而CMake Reference Manual提供了CMake支持的所有各种命令的详细说明(您可能会找到ADD_EXECUTABLE,ADD_LIBRARY,TARGET_LINK_LIBRARIES,INCLUDE_DIRECTORIES和LINK_DIRECTORIES是最有用的命令之一)。此外,虽然我强烈建议您使用CMake而不是Make,但在您决定使用Make时,您可能会发现我的Makefile tutorial非常有用。