Linux cygwin二进制exec格式错误
我有一个脚本文件,可以在windows中使用Cygwin运行。当我尝试使用这个文件时,我得到了以下错误 -bash:/sigdet/filename:无法执行二进制文件:Exec格式错误 sigdet是Cygwin目录中的文件夹,我有脚本。Rawdata是包含脚本应该分析的原始数据文件的目录的名称 为了尝试解决这个问题,我已经更改了文件权限,我已经检查以确保它在64位机器上,并且脚本似乎已经在64位机器上编译。经过这些步骤,我不知道还有什么问题。以下是我输入的命令: 我首先更改了目录,如下所示: $cd/sigdet/ 然后我运行了支持工作的脚本: $/sigdet/filename-i rawdata 脚本文件是否需要在windows中具有扩展名?我尝试将其更改为.sh扩展名,但没有成功。我听说它只是在其他windows机器上正常工作 感谢所有能帮上忙的人Linux cygwin二进制exec格式错误,linux,windows,bash,cygwin,Linux,Windows,Bash,Cygwin,我有一个脚本文件,可以在windows中使用Cygwin运行。当我尝试使用这个文件时,我得到了以下错误 -bash:/sigdet/filename:无法执行二进制文件:Exec格式错误 sigdet是Cygwin目录中的文件夹,我有脚本。Rawdata是包含脚本应该分析的原始数据文件的目录的名称 为了尝试解决这个问题,我已经更改了文件权限,我已经检查以确保它在64位机器上,并且脚本似乎已经在64位机器上编译。经过这些步骤,我不知道还有什么问题。以下是我输入的命令: 我首先更改了目录,如下所示:
which
,并具有#/usr/bin/python3
或第一行中的类似文件。当您在shell中运行它时,它将在/usr/bin
中查找python3
,并像这样运行您的文件:/usr/bin/python3./whatever
。(事实上,由于这一点,您还可以指定传递给解释器的其他参数。)/whatever/解释器:坏解释器:没有这样的文件或目录
错误或类似错误。但是,所有其他点都适用于解释器(它只是另一个可执行文件…)
如果脚本和/或解释器至少要在Windows或Cygwin上执行,它应该包含前面提到的shebang(
#!/path
),或者应该是Windows可执行文件(在这种情况下,文件数据应该以MZ
字母开头,您可以在记事本中检查)。如果不是,这意味着您收到的文件无法在Cygwin上运行。也有同样的问题。在makefile的顶部添加了以下内容:
出口拱门=天鹅座
在生成过程中,创建了Linux和Windows版本的可执行文件。您只需使用.exe版本。在我的例子中,我在使用错误的命令编译C程序时出错。当我使用正确的命令时:
gcc myprog.c -o myprog.exe
错误被解决了 谢谢你的快速回复,rr-。我在记事本中打开了文件,文件开头有ELF。这是否意味着除非使用Linux,否则无法运行脚本?是的,确实如此。该文件受copywrite保护,因此很遗憾,我无法上载该信息。