在雪豹上构建gcc 4.5.2无法使用不支持的文件格式进行链接

时间:2011-03-02 22:34:27

标签: macos gcc

我正在开发OS X 10.6.6,为嵌入式系统构建gcc交叉编译器和gnu java。 gcc native和cross需要是相同的版本,所以我想把所有东西都升级到最新的gcc版本。在构建gmp,mpfr,mpc和binutils之后没有问题,构建本机gcc失败了我认为是第一个链接步骤。失败的具体步骤是:

fixincludes$ gcc -g -O2  -o fixincl fixincl.o fixtests.o fixfixes.o server.o procopen.o fixlib.o fixopts.o ../libiberty/libiberty.a
ld: warning: in ../libiberty/libiberty.a, file was built for unsupported file format which is not the architecture being linked (x86_64)

此警告后面有很多未定义的符号错误。 libiberty.a和.o文件似乎是相同的架构:

fixincludes$ lipo -info ../libiberty/libiberty.a input file ../libiberty/libiberty.a is not a fat file
Non-fat file: ../libiberty/libiberty.a is architecture: x86_64
fixincludes$ lipo -info *.o
Non-fat file: fixfixes.o is architecture: x86_64
Non-fat file: fixincl.o is architecture: x86_64
Non-fat file: fixlib.o is architecture: x86_64
Non-fat file: fixopts.o is architecture: x86_64
Non-fat file: fixtests.o is architecture: x86_64
Non-fat file: procopen.o is architecture: x86_64
Non-fat file: server.o is architecture: x86_64

我怀疑这与32位和64位有关,但我不知道还有什么要检查,无法在任何地方找到具体的解决方案。谁能告诉我这里发生了什么,或者只是朝着正确的方向推动我?

0 个答案:

没有答案