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

C++ Compile code on Mac OS X and run it on Linux x86

本文关键字:并在 Linux 运行 x86 代码 编译 Mac OS C++      更新时间:2023-10-16

我正在开发一个模拟器,我使用XCodeBoost库在Mac OS 10.6上对其进行了编码。我想在我的大学服务器(一些Linux Red Hat x86)上运行它,但当在服务器上运行XCode生成的可执行文件时,会显示"./simulator: Exec format error. Wrong Architecture."。

我不能在服务器上编译我的代码,因为Boost没有安装,我没有权利安装它。

我怎样才能生成一个在这个Linux服务器上运行的可执行文件?使用XCode还是命令行?

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

如果你觉得有点冒险,你可以安装一个虚拟机,比如virtualbox,在虚拟机中安装相同版本的Linux,你就可以完全安装你想要的任何软件包。在虚拟机中构建一个可执行文件,并在学校服务器上运行。

只要确保您匹配RH的版本、编译器和C/C++库,否则您的可执行文件可能不会运行

您不需要安装Boost就可以使用它;尤其是如果您使用的Boost库完全包含在头文件中,而头文件是Boost的大多数库。您只需要在源代码中包含这些Boost头,它应该可以编译得很好。

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

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

有些编译器会这么做,有些则不会。不确定Mac的。

正如其他人所说:如果你的编译器不会交叉编译到linux,那么在虚拟机中完成这一切可能是最简单的解决方案。