我正在尝试从我的 C++ 代码运行这两个 .data 文件来完成我的作业。我已获得所有文件,并且仅用于实现程序的一些功能(所有内容都应该能够运行 make 命令进行编译)。
我以前运行的是 MAC,只是刚刚开始使用 Windows(win 7),因为工作给了我一台免费的笔记本电脑。无论如何...我安装了 cygwin,添加了 gcc-c++ 编译器、gdb 并将软件包添加到我的 cygwin 中。但是当我运行命令时./file ./data
它提出:
bash: ./file: cannot execute binary file
是否有某个软件包或我应该安装的东西?请注意,./data 是保存我的两个 .data 文件的文件夹,file1.data
and file2.data
编译者“
g++ -Wall -Werror -02 -c file.cpp
g++ -Wall -Werror -02 -c file-test.cpp
g++ -Wall -Werror -02 -o file file.o file-test.o
首先使用file
命令查看您拥有什么类型的二进制文件:
file ./file
如果它不是可执行文件,那就是一个问题。如果它是 ELF 可执行文件,那么它可能旨在在 Linux 上运行,而不是在 Windows 上运行。例如,将输出与此命令进行比较:
file /bin/bash
这应该告诉你:
/bin/bash:PE32 可执行文件(控制台)Intel 80386(剥离到外部 PDB),适用于 MS Windows
现在尝试这个命令:
file /cygdrive/c/windows/write.exe
其中说:
/cygdrive/c/windows/write.exe:PE32+ 可执行文件 (GUI) x86-64,适用于 MS Windows
我在 64 位 Windows 7 安装上运行此程序,这就是为什么它显示 x86-64。尽管这是一个与 cygwin 完全无关的 Windows GUI 应用程序,我仍然可以通过以下命令运行它:
/cygdrive/c/windows/write
您确实没有解释如何命名这个二进制文件./file
。它是否有可能是编译后的目标文件,您尚未链接到可执行文件?如果你有 Makefile,为什么不发布它的内容呢?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)