gpt4 book ai didi

gcc - 纳米 : File format not recognized

转载 作者:行者123 更新时间:2023-11-30 03:24:20 37 4
gpt4 key购买 nike

我正在尝试使用 GCC 工具链将库 test.a 链接到可执行文件中。

我在使用 CMake 时从未经历过类似的事情,一切似乎都运行得很顺利,直到

> [100%] Linking CXX executable test
ar qc lib/test.a CMakeFiles/test.dir/keys.cpp.o CMakeFiles/test.dir/test2.cpp.o CMakeFiles/test.dir/test3.cpp.o CMakeFiles/test.dir/test4.cpp.o CMakeFiles/test.dir/test5.cpp.o CMakeFiles/test.dir/test6.cpp.o

链接器提示的地方

> test.a: error adding symbols: Archive has no index; run ranlib to add one
collect2: error: ld returned 1 exit status

test.a 包含以下目标文件:

> ar -t test.a
test1.cpp.o
test2.cpp.o
test3.cpp.o
test4.cpp.o
test5.cpp.o
test6.cpp.o

nm 无法识别文件格式:

nm -s test.a
nm: test1.cpp.o: File format not recognized
nm: test2.cpp.o: File format not recognized
nm: test3.cpp.o: File format not recognized
nm: test4.cpp.o: File format not recognized
nm: test5.cpp.o: File format not recognized
nm: test6.cpp.o: File format not recognized

即使文件说这些是 ASCII 文件:

file test1.cpp.o
test1.cpp.o: ASCII text

我卡住了。

如何找出问题所在?

最佳答案

Even though file says these are ascii files

这就是你的问题所在:.o 文件应该是(编译的)object 文件,无论你的系统使用什么 native 格式,不是 ASCII 文件。

您很可能搞砸了您的 Makefile(或 CMakefile)。但是你没有展示它们,所以无法提供进一步的帮助。

附言将文件命名为 test1.cpp.o 也是非常不常见的——通常 test1.cpp 被编译成 test1.o

关于gcc - 纳米 : File format not recognized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49758835/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com