无法执行我scpd到另一台计算机的二进制文件错误

时间:2014-02-05 03:48:38

标签: g++ executable binaryfiles

我将一个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

谢谢!

1 个答案:

答案 0 :(得分:0)

如果不使用交叉编译器在OS X上编译并在Ubuntu上运行,则无法编译。这是我找到的答案: Compiling C Program on OS X to Run on Ubuntu