从32位机器切换到64位机器后发生GCC错误

时间:2014-02-11 23:53:47

标签: gcc

我有一个在32位fedora 17机器上编译和运行的功能代码。最近我们不得不将主机切换到64位Centos机器,我在编译代码时遇到了新的困难。当我输入'make'时,我收到以下错误消息:

xdatalog> sudo make
gcc -o xdatalog -march=i686 -ffast-math -O3  -I /FedoraBackup/opt/uhd/host/include  xprocess_data.o xdatalog.o pentek_setup.o xget_input.o create_datafile.o xheader.o xtimepos.o xpol_ctrl.o xdechirp.o  attitude.o -lfftw3f_threads -lfftw3f -lm -lpthread -luhd
xprocess_data.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status

我是编码的新手,所以非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

在我看来,你只是留下了一些旧的32位目标文件,显然无法链接到64位二进制文​​件。在这种特殊情况下,文件xprocess_data.o

尝试删除所有旧的目标文件并从头开始重新编译(我不知道您的构建过程,但make clean通常应该这样做,如果它不是非常自定义的。)