【问题标题】:ld doesn't recognize object fileld 无法识别目标文件
【发布时间】:2010-06-21 23:23:19
【问题描述】:

我在编译我正在处理的项目时遇到问题。其他一切工作正常,但是当我编译时,我收到以下错误消息:

/usr/bin/ld:obj/content/xmSound.o: file format not recognized; treating as linker script

我不知道为什么会这样。这可能是代码中的一些错误,但我不知道。 源文件 xmSound.o 是从 can be found here 和我正在使用的 makefile is here 编译的。

【问题讨论】:

  • 如果你手动编译文件,没有make,你有同样的错误?
  • 你能显示make 的输出,它试图构建 xmSound.o

标签: c++ linker-errors ld


【解决方案1】:

运行“file obj/content/xmSound.o”并将该文件的内容与加载程序没有抱怨的其他目标文件进行比较。

很有可能构建该目标文件的规则不正确,不知何故,您拥有的文件根本不是目标文件。

【讨论】:

  • 嗯。 obj/content/xmSound.o: GCC precompiled header (version 013) for C++ 什么鬼?我的 makefile 规则一定是错误的。
  • 哦,是的,我现在知道出了什么问题。 Make 将 xmSound.cpp 和 xmSound.h 都传递给 g++,然后 g++ 将它们编译成预编译的头文件而不是目标文件。我只需要修正我的规则,一切都会好起来的。我希望。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-25
  • 2017-10-14
  • 1970-01-01
  • 1970-01-01
  • 2018-02-15
  • 1970-01-01
  • 2016-10-23
相关资源
最近更新 更多