Mit*_*dis 6 c++ cross-platform
我的任务是创建一个C++ SDK - 最有可能是动态库的形式.
它应该用于不同的平台 - Windows(32/64位),Linux(32/64位),Mac OS,Android和iOS.我对多平台项目设置没有多少经验,我正在尝试决定使用哪些方法和工具进行最简单的开发和部署.
附注:我还必须在Bamboo CI服务器上准备自动构建(作业),以便为每个所需目标运行编译和测试.
我的主要困境是:
我知道我的问题非常复杂,对于这些问题没有直接的答案,但是每个建议甚至部分答案都会非常感激:)
小智 3
正如你所说,没有一刀切的解决方案,所以我会提出一些一般性建议。请随意挑选您认为最有益的。
* 是的,Qt 在非 GUI 上也能很好地工作!
我在 1. 的第二点中谈到了这一点,但我的一般建议是使用本机工具链。除了 MacOS 之外,设置虚拟机、构建服务器等来构建本机代码很容易,而我对交叉编译器的经验是它们总是会增加另一层心痛,甚至比必须远程访问单独的构建器计算机更糟糕。
只要您避免使用与系统相关的标头、库或扩展,那么您使用什么系统就无关紧要。<windows.h>诸如和 之类的事情<linux/*.h>是显而易见的,但验证跨平台兼容性的最佳方法是尽可能频繁地测试外部系统。
-pedantic和-ansi标志,GCC 会给您一些关于特定于平台的扩展的提示。正如这里所解释的,这些标志告诉 GCC 对任何 GNU 特定的扩展发出警告。