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

标签 linux makefile eclipse-cdt

我正在尝试将电脑游戏从 Windows 移植到 GNU/Linux。它使用 Ogre3D、CEGUI、ogreogg 和 ogrenewt。据我所知,所有依赖项都适用于 GNU/Linux,并且在游戏本身中没有软泥专用代码。

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

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

最佳答案

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

关于linux - 将 C++ 应用程序从 Windows 移植到 GNU/Linux。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2844297/

相关文章:

c++ - QSystemTrayIcon 上下文菜单中的用户界面

makefile - 这是 GNU make `filter` 中的错误吗?

linux - Makefile:make 期间出错

linux - Killall -u 和 RedHat 3

linux - kafka-server-stop.sh 不适用于 RedHat7

linux - shell 脚本 'installer'

c++ - Makefile 依赖中 breakoutline 的逻辑

namespaces - 为什么 Eclipse CDT 在关闭命名空间大括号后不添加注释?

c++ - subdir.mk 和 eclipse cdt

c++ - "Symbol uhd::stream_cmd_t::STREAM_MODE_START_CONTINUOUS could not be resolved"