我正在尝试使用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上构建它吗?
答案 0 :(得分:2)
为不同的Linux版本制作不同库的主要原因是因为它们使用了对不同系统.so文件的依赖。
在Ubuntu上使用专为Cent OS设计的库并不是一个好主意,因为在编译时,它们(可能)会动态链接到您的Ubuntu系统.so文件。 你将无法保证它能够发挥作用。
您在Ubuntu系统中安装Cent OS版本库的建议可能有效,但您需要先测试它。 如果你可以在Cent OS系统上运行你的Ubuntu编译程序,那么你就可以安全地去了。 每次要安装库时,请确保进行此测试:)。