可以用C ++开发桌面应用程序,可以在Windows和Mac OS上使用吗?

我试图节省一些钱,开发一个可以在Windows和Mac OS上工作的桌面应用程序。 这可能吗? 我们可以用C ++来完成吗?然后,通过一些修正和调整,仍然可以在两个操作系统上重复使用同一个应用程序?

是的,这是可能的。 由于操作系统的差异,某些代码可能会有所不同。

  • 你应该使用一个通用库,如Qt: http : //qt.nokia.com/
    值得注意的是,Qt为桌面带来了更多的跨平台功能,请大家熟悉一下。
  • 会有一些分歧处理,如
    • 文件路径(C:Mac上不存在,\和/是路径分隔符等)
    • 文件结尾不同(Windows中的CrLf,Mac中的Lf)
  • 你需要编译到两个不同的目标CPU。 大多数C ++编译器都可以做到这一点。
  • 相同的代码可以用于这两个,你只是定义区域(或不)被包括在内,这取决于编译器的目标是什么样的操作系统。

只是谷歌一个跨平台的开发指南,looooots人以前做过这个。 🙂

这可能不是相关的,但仍然值得注意(因为你说“省钱”),Java和Mono项目 (.Net,Qt)允许你用有限的底层平台技术编写跨平台的应用程序。 他们是更高级的语言,通常被认为是节省时间(但这是一个单独的讨论)。

Qt 。

或者你可以谷歌它。

扩大我的评论:

不要

用可移植的C ++编写你的库代码; 把尽可能多的功能放在库中,确保你随时学习特定于平台的API(可能是Cocoa和.NET),所以到库的接口至少适合于两者之一。

然后将你的库包装在本地的二进制文件中 确保您注意应用程序在每个平台上的显示方式,以及它们的感觉。

构建一个看起来像X11应用程序的应用程序,并且以Gnome应用程序,KDE应用程序,OS X应用程序和Windows应用程序之间的某种方式执行所有操作,将会严重影响用户体验。

不好

wxWidgets的

这个问题会被问到很多 ,另请参阅: 这个问题 , 这一个和其中之一。

晚会来到这里的派对!

我正处于完成一个跨平台的商业应用程序的最后阶段(目前OS / X和Windows,可能是Linux或iOS以后)。

我们正在使用一个名为Juce的开源跨平台C ++开发库,而且我不能说得太多。 这是非常全功能的,代码是坚实和高品质的,你可以显然建立从Windows,OS / X,Linux,iOS和Android从相同的代码库(我们只尝试了前两个,但其他开发人员显然报告其他平台的成功)。

特别好的是,领导开发人员在他的公告板上非常活跃,对故障报告非常敏感。

此外,您可以根据GPL许可图书馆,而且他们也有一个非常合理的价格的商业许可证。

Juce在做数字音频应用的人中很受欢迎 – 事实上,据我所知,许多或者大多数顶级商业数字音频应用都使用这个系统,但是它的功能非常全面,而且速度非常快,应该被认为是最好的选择跨平台的开发应用程序。