C++在Mac OS X上编译代码,并在Linux x86上运行
C++ Compile code on Mac OS X and run it on Linux x86
我正在开发一个模拟器,我使用XCode
和Boost
库在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,那么在虚拟机中完成这一切可能是最简单的解决方案。
相关文章:
- 在Linux中哪里可以找到互斥、未来等的源代码
- 在Linux for Windows上编译C++代码时出错
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- 图形工具:在Linux中编译并连接到本地CGAL库?(没有须藤)
- 在RHEL 7上编译MySqlClient,并在RHEL 6上运行(Linux上的G )
- 睡眠:(睡眠或usleep)并没有将我的线程中的所有内容悬挂在Linux中,而是在Windows中悬挂吗?为什么
- 在 Linux 上编译一个 c++ 应用程序,并在 TI TIVA TM4C123GH6PM上刷新它
- 文件不会将输出保存到文件中,并在 Linux C++奇怪地打印出一个字符串
- 如何在没有条件变量的情况下阻止线程中的操作,并在Linux中根据信号恢复操作
- 在Linux上静态编译osgconv,并支持obj文件
- 在 Windows 中对结构进行签名并在 Linux 中读取它
- 如何以编程方式启动程序并在 Linux 上使用 root 权限运行它
- C++在Mac OS X上编译代码,并在Linux x86上运行
- 在Windows系统上使用QMediaPlayer,并在Linux上编译代码
- 在linux上安装并运行osgEarth
- c++在linux下启动新进程并终止当前进程
- 在linux中创建一个动态库,并使用Visual Studio linux Development链接到它
- 如何在windows PC上导出c++项目并在Linux PC上运行?
- 将opengl窗口转换为std::size_t并再次返回在Linux中有效,但在OS X中无效
- c++在linux下编译并运行