C ++在Mac OS X上编译代码并在Linux x86上运行

时间:2013-07-09 00:11:53

标签: c++ linux macos cross-compiling

我正在使用模拟器,我使用Mac OS 10.6在我的XCode上编码,以及Boost库。我想在我的大学服务器上运行它(一些Linux Red Hat x86),但是当在服务器上运行XCode生成的可执行文件时:“./simulator: Exec format error. Wrong Architecture。”显示。

我无法在服务器上编译代码,因为没有安装Boost,我无权安装它。

如何生成可在此Linux服务器上运行的可执行文件?使用XCode还是命令行?

注意:我可以在计算机上运行我的代码,但服务器上的代码会快得多。

3 个答案:

答案 0 :(得分:3)

如果您感觉中等冒险,您可以安装虚拟机等虚拟机,在虚拟机中安装相同版本的Linux,您将拥有安装所需软件包的全部功能。在VM中构建可执行文件并在学校服务器上运行它。

确保您匹配RH的版本以及编译器和C / C ++库,否则您的可执行文件可能无法运行

答案 1 :(得分:1)

您无需安装Boost即可使用它;特别是如果你使用完全包含在头文件中的Boost库,这是Boost的大多数库。您只需要在源代码中包含这些Boost标头,它就可以编译得很好。

要想方便地将所需的Boost标头与源代码捆绑在一起,请查看Boost的BCP工具。

答案 2 :(得分:0)

你需要“交叉编译”。即在不同的平台上构建一个linux exe。

有些编译器会这样做 - 有些则不会。不确定Mac的。

正如其他人所说:如果您的编译器不会交叉编译到Linux,那么在VM中完成所有操作可能是最简单的解决方案。