我正在尝试链接我创建的静态库,但出现此错误。
libmine.a: could not read symbols: Archive has no index; run ranlib to add one
我试图做,ranlib libmine.a
但没有任何改变,它仍然给出同样的错误。我怎么解决这个问题?
要查看存档中的符号,请使用 nm。
nm -s libmine.a
<输出>
子例程的入口点应标记为“T”,如
00000000 T _sub1 00000019 T_sub2
您在“ar”中使用了哪些开关来制作静态库?我通常使用“ar -r”,如
ar -r libmine.a mine.o yours.o
如果仍然有问题,请添加“-s”选项
ar -s -r libmine.a mine.o yours.o
此外,请确保路径中没有其他“libmine.a”文件,或者为您的“libmine.a”创建一个显式路径。链接器可能会选择不同的“libmine.a”。