could not read symbols: Archive has no index;

could not read symbols: Archive has no index; run ranlib to add one
collect2: ld returned 1 exit status

运行ranlib后仍然无效,这时该怎么办呢?

第1步

首先,运行ar进行测试,检查打包的正确性。

ar -t libfurzoom.a

如果输出了应该打包在内的文件名,则表示正确,请继续下一步。如提示错误,请检查打包过程的正确性。

这里假设打包后的文件名为libfurzoom.a

第2步

使用file命令检查文件每一个被打包文件的格式的正确性。

file furzoom.o

输出了正确的输出了文件类型,则表示正确,全部文件检查完毕后,请继续下一步。如果提示错误,请重新生成相应的文件。

这里假设被打包的文件名为furzoom.a

第3步

使用nm命令对被打包文件进行导出符号检查。

nm furzoom.o

如果正确的输出了文件的中应该导出的符号(如函数名称等)信息,则表示正确。如果提示错误,则请查检编译该文件使用命令的正确性。

这里假设被打包的文件名为furzoom.a

至此,问题应该已经解决了,如果还没有,欢迎讨论!

更多请参考枫竹梦

posted @ 2017-10-22 15:50  枫竹梦  阅读(2735)  评论(0编辑  收藏  举报