gpt4 book ai didi

cygwin - cygwin-无法执行二进制文件

转载 作者:行者123 更新时间:2023-12-04 13:54:17 38 4
gpt4 key购买 nike

我试图从我的C++代码运行这两个.data文件进行分配。我已经获得了所有文件,并且仅打算为程序实现一些功能(所有内容都应能够运行make命令进行编译)。

我曾经运行过MAC,只是刚开始使用Windows(Win 7),因为工作给了我免费的笔记本电脑。无论如何...我安装了cygwin,将gcc-c++编译器,gdb添加到了cygwin中。但是,当我运行./file ./data命令时,它会出现:

bash: ./file: cannot execute binary file

是否有某个软件包或我应该安装的东西?请注意,。/data是存放我的两个.data文件 file1.datafile2.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,为什么不发布其内容?

关于cygwin - cygwin-无法执行二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6970962/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com