【问题标题】:Multiplatform c project多平台 c 项目
【发布时间】:2014-04-29 09:37:30
【问题描述】:

我必须设计一个应该在 Linux 上运行的 C 项目。我非常习惯在 Windows 上使用 Visual Studio 或 DevC++ 设计 C 项目。在 Windows 上设计项目然后将代码移植到 Linux 上是否可行。是否可以使用 Eclipse CDT 将编译配置从 Windows 切换到 Linux。我该怎么办?您建议我做什么或搜索什么?

【问题讨论】:

  • 项目的目标是什么?它会是一个网络图书馆、一个照片查看器,还是别的什么?给我们更多细节,你会得到更好的答案。
  • Projects 有点像 TCP 客户端和使用 SQLite DB 的小文件记录器。
  • Eclipse CDT 是一种方法。其他包括Makefiles,或像CMake 这样的元生成器。 (检查链接,它们是我自己的工作,目的是让这两种技术更容易获得。)

标签: c multiplatform


【解决方案1】:

这是一个宽泛的问题,因为我们没有关于您想要达到的目标的信息。

我可以与所提供的有限信息分享一些指导方针:根据我的经验,在 Windows 上编写代码然后将其移植到 Linux 是可行的,尽管您应该预料到 Linux/Unix 中使用的 Microsoft 编译器和 gcc 编译器会存在一些差异(通常,编译器越符合标准,它就越会“警告”或不接受代码中的可疑内容。

如果您正在处理大量依赖项/标头/源结构,您的项目可以从使用像 CMake 这样的工具来处理所有这些问题(可以生成 makefile 和/或Visual Studio 解决方案取决于您的平台,来自同一组来源)。

另外请注意,您应该使用任何依赖于平台的 API 以使您的代码具有可移植性。如果您确实需要,请确保 #ifdef 这些代码部分适用于您正在编译代码的特定平台。

最后,如果您打算在您的应用程序中使用 GUI(或者即使您不打算使用 GUI,您也可能会从包含的各种库中受益),您可以使用像 Qt 这样的可移植框架,但请记住这需要将应用程序的 C 部分与 C++ 部分(Qt)隔离开来。作为您偏好的另一种选择,您也可以使用GTK+。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-09
    • 2020-09-05
    • 1970-01-01
    • 2016-12-11
    • 1970-01-01
    • 1970-01-01
    • 2018-12-22
    • 2015-04-20
    相关资源
    最近更新 更多