You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

非架构不兼容的Exec format error解决:Qt编译main.o执行报错求助

解决“bash: ./main.o: cannot execute binary file: Exec format error”问题

嘿,我一眼就看出问题所在了——你搞错了要运行的文件!你现在试图执行的main.o只是编译过程中生成的中间目标文件,它还没有完成链接步骤,根本不是可执行程序。

从你贴出的Makefile里能清楚看到:

  • 最终的可执行文件名叫QTexample(看TARGET = QTexample这一行)
  • Makefile里的核心规则就是把main.o和Qt的依赖库链接起来,生成真正能运行的QTexample
$(TARGET):  $(OBJECTS)
	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)

解决步骤很简单:

  1. 确保你完整执行了make命令,不要中途中断。正常完成后,当前目录下会出现QTexample文件。
  2. 运行这个真正的可执行程序:
./QTexample

你可以用file QTexample命令验证,它会显示类似ELF 64-bit LSB executable的信息,这才是符合系统架构的可执行文件。

之前你查架构没问题是对的,只是找错了文件而已,这个小失误很常见,别担心~

内容的提问来源于stack exchange,提问作者Mario Bernardi

火山引擎 最新活动