我正在制作一个 C++ 程序。
我对 C++ 最大的不满之一是它所谓的平台独立性。
你们可能都知道,在 Windows 中编译 Linux C++ 程序和在 Linux 中编译 Windows 程序几乎是不可能的,而没有大量的神秘错误和特定于平台的包含文件。
当然你可以随时切换到像 Cygwin 和 wine 这样的仿真,但我问你,真的没有别的办法吗?
最佳答案
语言本身是跨平台的,但大多数库不是,但是如果您想在使用 C++ 编程时完全跨平台,则应牢记三件事。
首先,您需要开始使用某种跨平台构建系统,例如 SCons .其次,您需要确保您使用的所有库都是跨平台的。 第三点,我建议使用所有目标平台上都存在的编译器,gcc想到这里(C++ 是一个相当复杂的野兽,所有编译器都有自己的特定怪癖)。
我有一些关于图形用户界面的进一步建议给您。其中有几种可供使用,其中三个最值得注意的是:
GTK+和 QT是两个带有自己的小部件集(按钮、列表等)的 API,而 wxWidgets更多的是对当前运行的平台 native 小部件集的包装 API。这意味着与系统的其他部分相比,前者看起来可能会有些不同,而后者看起来就像一个原生程序。
如果您从事游戏编程,那么同样有许多 API 可供选择,而且它们都是跨平台的。我所知道的最全面的两个功能是:
两者都包含从图形到输入和音频例程的所有内容,无论是通过插件还是内置的。
另外,如果你觉得 C++ 的标准库有点欠缺,请查看 Boost用于一些通用的跨平台甜蜜。
祝你好运。
关于c++ - 如何编写可以在 Linux 和 Windows 中轻松编译的 C++ 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/478298/