在另一个平台上构建

Building on another platform?

本文关键字:构建 平台 另一个      更新时间:2023-10-16

我正在尝试使用gcc构建一个c++应用程序,以便在Cent OS上运行它。问题是,在Cent OS中编译比开发更难。我使用2个库,MySQL C API和boost asio。MySQL C API对于每个操作系统都有不同版本的库。这让我相信,获得ubuntu版本并在Cent OS上运行它是个糟糕的主意。

建议如下:

在ubuntu中构建程序,并使用设计用于Cent OS的库。然后将可执行文件从ubuntu复制到Cent OS。

如果上面是一个好主意,我可以在windows上构建它吗?

为不同的linux版本制作不同的库的主要原因是它们对不同的系统。so文件使用依赖关系。

在Ubuntu上使用专为Cent OS设计的库不是一个好主意,因为在编译时,它们(可能)会动态地链接到你的Ubuntu系统。so文件。你永远无法保证它会起作用。

您建议在Ubuntu系统中安装Cent OS版本的库可能有效,但您需要先进行测试。如果你能在Cent OS系统上运行你的Ubuntu编译程序,那么你就安全了。只要确保每次要安装库时都进行此测试:)。