c++中的交叉编译(作为跨平台应用程序的一部分或作为服务)

Cross Compiling in c++ (as part of an cross platform application or as service)

本文关键字:一部分 服务 应用程序 跨平台 c++ 交叉编译      更新时间:2023-10-16

我正在尝试将小代码段的编译集成到我的应用程序中。如何将多个平台的一段代码编译到共享库中(如果可能的话,可以通过代码调用(,同时尽可能减少开销?最大的问题是为所有编译工具链提供一个应用程序。

我调查过柯南和克兰。当我正确理解Clang不是一个可以随应用程序一起提供的东西。至于柯南,我还不知道。

或者,我可以构建一个服务,所有需要的编译工具链都将驻留在其中,我们的系统将通过网络调用该服务,并接收一个库作为答案。

后者似乎是最合理的解决方案,但我不确定是否应该这样做。

如果可能的话,在服务器端linux上为linux、windows和OS X编译c++代码的最佳工具是什么?

不能有一个库在多个操作系统系列上运行,因为格式不兼容。请参阅:https://en.wikipedia.org/wiki/Comparison_of_executable_file_formats目标操作系统上使用的格式

您只能使用支持交叉编译的构建工具,并将其设置为构建/链接正确的库,为目标操作系统生成正确的二进制文件,如CMake/Bazel