Build Cscope生成失败,错误消息为“0”;无法读取符号:文件格式错误“;

Build Cscope生成失败,错误消息为“0”;无法读取符号:文件格式错误“;,build,cross-compiling,ctags,cscope,openwrt,Build,Cross Compiling,Ctags,Cscope,Openwrt,我正在交叉编译cscope,但意外地失败了。然而,我成功地构建了ctag,没有错误,那么为什么cscope构建失败呢 错误消息如下所示: `sh cflags "optimize='-O2'" doop.o` doop.c CCCMD = cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c8

我正在交叉编译cscope,但意外地失败了。然而,我成功地构建了ctag,没有错误,那么为什么cscope构建失败呢

错误消息如下所示:

`sh  cflags "optimize='-O2'" doop.o`  doop.c
          CCCMD =  cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -std=c89 -O2  -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC 
`sh  cflags "optimize='-O2'" doio.o`  doio.c
          CCCMD =  cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -std=c89 -O2  -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC 
`sh  cflags "optimize='-O2'" regexec.o`  regexec.c
          CCCMD =  cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -std=c89 -O2  -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC 
`sh  cflags "optimize='-O2'" utf8.o`  utf8.c
          CCCMD =  cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -std=c89 -O2  -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC 
`sh  cflags "optimize='-O2'" taint.o`  taint.c
          CCCMD =  cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -std=c89 -O2  -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC 
`sh  cflags "optimize='-O2'" deb.o`  deb.c
          CCCMD =  cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -std=c89 -O2  -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC 
`sh  cflags "optimize='-O2'" universal.o`  universal.c
          CCCMD =  cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -std=c89 -O2  -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC 
`sh  cflags "optimize='-O2'" xsutils.o`  xsutils.c
          CCCMD =  cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -std=c89 -O2  -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC 
`sh  cflags "optimize='-O2'" generate_uudmap.o`  generate_uudmap.c
          CCCMD =  cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -std=c89 -O2  -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC 
mips-openwrt-linux-uclibc-gcc -o generate_uudmap -L/usr/local/lib generate_uudmap.o -lnsl -ldl -lm -lcrypt -lutil -lc 
/home/mirror0/sdk/sdk/staging_dir/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/bin/../lib/gcc/mips-openwrt-linux-uclibc/4.3.3/../../../../mips-openwrt-linux-uclibc/bin/ld: generate_uudmap.o: Relocations in generic ELF (EM: 62)
/home/mirror0/sdk/sdk/staging_dir/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/bin/../lib/gcc/mips-openwrt-linux-uclibc/4.3.3/../../../../mips-openwrt-linux-uclibc/bin/ld: generate_uudmap.o: Relocations in generic ELF (EM: 62)
generate_uudmap.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make[4]: *** [generate_uudmap] Error 1
make[4]: Leaving directory `/home/mirror0/sdk/sdk/build_dir/target-mips_uClibc-0.9.30.1/perl'
make[3]: *** [/home/mirror0/sdk/sdk/build_dir/target-mips_uClibc-0.9.30.1/perl/.built] Error 2
make[3]: Leaving directory `/home/mirror0/sdk/sdk/package/perl'
make[2]: *** [package/perl/compile] Error 2
make[2]: Leaving directory `/home/mirror0/sdk/sdk'
make[1]: *** [/home/mirror0/sdk/sdk/staging_dir/target-mips_uClibc-0.9.30.1/stamp/.package_compile] Error 2
make[1]: Leaving directory `/home/mirror0/sdk/sdk'
make: *** [world] Error 2

real    0m51.846s
user    1m27.489s
sys     0m38.462s

这可能是由于以前编译的旧对象文件(针对不同的目标)造成的。尝试运行包的
make clean
或等效程序,然后再次尝试编译。

这不是make clean的问题,为什么无法读取错误格式的符号:文件?@thinke365我在为包目录中的不同目标编译.o文件时遇到了相同的错误。makeclean应该删除这些,因此可能会有所帮助。makeclean是不够的,我最初设置的环境是错误的。修复后,删除所有生成的配置/构建文件,使用正确的工具链(主机等)重新运行配置。。工作起来很有魅力…什么东西在你的环境中设置不正确,是什么导致了问题?我认为这与NASM有关。您可以尝试切换64位选项。