我将一个Unix可执行文件写入我的工作计算机,并在尝试运行它时收到错误。如果我输入:
./cmpDNA 4 5 0.3 > results/results4_5_0.3.txt &
其中cmpDNA是我的程序,4 5 0.3是输入参数,结果/ results4_5_0.3.txt是我的输出文件,这是我收到的错误:
-bash: ./cmpDNA: cannot execute binary file
我使用g ++在我的OS X计算机上编译并确保包含我的-m32用于32位构建,因为目标计算机是32位Ubuntu。打字:
file cmpDNA
得到:
cmpDNA: Mach-O executable i386
所以我不确定为什么它不会执行。我一直在寻找,但我找不到任何能解决问题的答案。所有用户也具有可执行权限。如果有帮助,以下是我的所有编译选项:
g++ -Wall -std=gnu++0x -o cmpDNA -m32 files.cpp
谢谢!
答案 0 :(得分:0)
如果不使用交叉编译器在OS X上编译并在Ubuntu上运行,则无法编译。这是我找到的答案: Compiling C Program on OS X to Run on Ubuntu