我有一个在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
我是编码的新手,所以非常感谢任何帮助!
答案 0 :(得分:1)
在我看来,你只是留下了一些旧的32位目标文件,显然无法链接到64位二进制文件。在这种特殊情况下,文件xprocess_data.o
。
尝试删除所有旧的目标文件并从头开始重新编译(我不知道您的构建过程,但make clean
通常应该这样做,如果它不是非常自定义的。)