Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何生成可在macOS和Linux上运行的可执行文件_Linux_Macos - Fatal编程技术网

如何生成可在macOS和Linux上运行的可执行文件

如何生成可在macOS和Linux上运行的可执行文件,linux,macos,Linux,Macos,我在macOS上生成了一个可执行文件,现在我想在Linux上运行它 我已经有了我的Makefile,我使用它在macOS上生成可执行文件(使用gcc)。但当我在Linux上运行它时,我收到一条错误消息:“./executable:cannotexecutebinary file”。有人能帮我解决这个问题吗?您必须在Linux上再次编译可执行文件,以便创建在Linux上运行的二进制文件。 除非您在MacOSX上为Linux设置交叉编译环境(不过在虚拟机中使用Linux会更容易),否则您可以在那里为

我在macOS上生成了一个可执行文件,现在我想在Linux上运行它


我已经有了我的Makefile,我使用它在macOS上生成可执行文件(使用gcc)。但当我在Linux上运行它时,我收到一条错误消息:“./executable:cannotexecutebinary file”。有人能帮我解决这个问题吗?

您必须在Linux上再次编译可执行文件,以便创建在Linux上运行的二进制文件。 除非您在MacOSX上为Linux设置交叉编译环境(不过在虚拟机中使用Linux会更容易),否则您可以在那里为Linux编译


无论哪种方式,最终都会得到两个不同的二进制文件。您不能创建一个同时在Linux和MacOSX上运行的二进制文件。

这是不可能的。创建两个不同的可执行文件。你应该以有效的英语句子和有效的德语句子的形式提问。谢谢!这样的话,我需要更改Makefile吗?@dongxin可能,我不知道你的Makefile是什么样子的。如果它非常简单,基本上只调用gcc,那么它可以同时适用于这两种情况。如果因为您必须链接系统的共享库等原因而变得更复杂,那么您可能必须更改生成文件,以便它在两个系统上都能找到所需的内容(或者为每个系统生成一个单独的生成文件,如果您愿意的话)。谢谢!那我就试试看。@dongxin不客气,祝你好运:)ps:别忘了把你的问题标上答案,这样人们就会知道;)