c++ - 适用于 Windows/Linux/Mac 的 C++ 和 G++ 纯 GUI 应用程序

标签 c++ cross-platform gui-toolkit

C/C++ 中的 Win/Linux/Mac GUI 应用程序:

我想知道如何编写”、“ native ”“API级别> 使用 C++ 编写的适用于 Windows、Linux 和 Mac 的应用程序。

我不想要“单一代码随处运行”,而是每个操作系统的 native 代码。


Windows 解决方案:

只需使用Mingw/Win32 API;这非常简单明了。这样我就喜欢在 Windows 下编程了。


Linux 解决方案:

例如,如果我使用wxWidgets-dev/GNU G++,如果用户不安装wxWidgets,我的应用程序就无法在PC/Linux上运行?如果没有,我如何在我的程序中包含 wxWidgets 库?


Mac 解决方案:

Objective-C++/GNU G++ 是解决方案吗?或者 Carbon/C++/GNU G++ 是解决方案吗?

最佳答案

苹果电脑

在 Mac 情况下,您只需启动 XCode 并使用 Objective-C。 Objective-C++ 主要用于让您从 Objective-C 访问现有的 C++ 库。

不要使用 Carbon,它已被弃用。它只是为了让从 Mac OS 9 的移植变得更容易。

Linux

这很困难,因为实际上没有任何保证。您可以非常确定 X Windows 会在那里,但有各种各样的库(Gnome、KDE、WxWidgets、FLTK、Motif 等)可能可用,也可能不可用。

过去,您可以期待 Athena 小部件可用,因为它们随 X Windows 一起提供,但它们看起来很蹩脚(介于 Mac OS 3 和 Palm OS 1 之间),几乎没有人愿意再使用它们。

因此,您几乎必须选择一个库/工具包并使用它,并期望您的用户安装它。如今,大多数发行版都使依赖项的安装变得非常容易,因此它并不像在 Windows 上安装 wxWidgets 那样烦人。

关于c++ - 适用于 Windows/Linux/Mac 的 C++ 和 G++ 纯 GUI 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4010262/

相关文章:

javascript - 跨多个平台使用业务逻辑的最佳方式(云功能?)

windows - Valve 为 Steam 使用什么 GUI 工具包?

python - 仍然没有适用于 Python 3(或 3.3)的 wxPython?

java - 现在选择哪个 Java GUI 框架?

c++ - 在 C++ 中编译模板头

c++ - 在传输到 CUDA GPU 时保持主机数据完好无损

c++ - 无法使用 CreateProcess 重定向标准输出

c++ - 数组元素从未成功添加? (C++)

c++ - 在 C++ 中制作简单的跨平台 GUI 的最佳方法是什么?

c# - 如何在 xamarin 跨平台应用程序中创建支持 sqlite 的 PCL