我怎样才能编写在 Windows 7、Mac OS X(也许还有 linux)上运行的程序?
我听说 Qt 是构建跨平台 GUI 的绝佳框架,但我认为每个程序版本都需要重新编译,不是吗?还有我应该在windows下编译win版,在mac os x下编译mac版,在linux下编译linux版等等?
我得到了想法和/或建议
最佳答案
底层二进制格式在每个平台上都不同,因此除非您使用虚拟机(如 Java 或 Flash),否则您将不得不在每个平台上重新编译您的程序。
一些编译器(如 GCC)允许交叉编译,但设置起来并不简单。可能最容易交叉编译的系统是 Linux(有几个开源项目设置了从 Linux 到 Windows 的交叉编译)。
对于 GUI 应用程序,这取决于语言——如果您坚持使用 C++,Qt 或 wxWindows 可能是一个合理的选择,它们在 native 窗口系统上提供了一个抽象层。
如果你可以使用 Java,它会让生活变得更简单,但是窗口系统是 Java 的而不是本地的。
另一种值得考虑的语言是带有 Lazarus 的 FreePascal——它有一个非常好的 GUI 设计器,可以编译到每个平台上的本地窗口系统(Windows 上的 WinAPI、OSX 上的 Cocoa 和 Linux 上的 GTK)。
关于c++ - 编写跨平台程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5779659/