无法运行 g++ 编译的代码。获取权限错误。使用 chmod,获取 Exec 格式错误

无法运行 g++ 编译的代码。获取权限错误。使用 chmod,获取 Exec 格式错误

我一直在使用 Code::Blocks 编写一些代码,并使用 cbp2make 生成一个可以用 编译的 makefile g++。我运行它make,并在“obj/Release”和“obj/Debug”文件夹中获得了 makefile 承诺的所有“.o”文件,就像我在 Code::Blocks 中编译一样。问题来了:我无法运行我的代码。

如果我做: ~/<path>/obj/Release$: ./main.o

我得到: bash: ./main.o: Permission denied

我尝试过chmod 744 ./main.ochmod 755 ./main.ochmod 777 ./main.o。我还尝试过不使用./,用sudo chmod,并且还尝试过7--+xall 替换 ,只是为了绝望。这些将 的输出更改./main.o为:

bash: ./main.o: cannot execute binary file: Exec format error

供参考:ls -l main.o返回:

-rw-r--r-- 1 jiggly jiggly 661344 Sep 8 16:51 main.o什么也没做之后

-rwxr -xr -x 1 jiggly jiggly 661344 Sep 8 16:51 main.o做完后chmod 744

-rwxr-xr-x 1 jiggly jiggly 661344 Sep 8 16:51 main.o做完后chmod 755

-rwxrwxrwx 1 jiggly jiggly 661344 Sep 8 16:51 main.o做完后chmod 777

至少工作是这样的chmod;)

另外,file main.o返回main.o: ELF 64-bit LSB relocatable, x86-64, version1 (SYSV), not stripped。我至少知道我的系统是“x86-64”,但也许我在这里遗漏了一些信息?

显然,我遇到的最重要的问题是我的代码无法运行(在 Code::Blocks 之外),而我需要它运行。如果能得到任何帮助,我将不胜感激。此外,我不知道为什么会出现权限和格式错误。如果我错过了一些显而易见的东西,我会很高兴,但任何解决方案都会很有帮助和教育意义。

相关内容