could not read symbols: Archive has no index

Linux 2015年12月05日 , ,

could not read symbols: Archive has no index; run ranLib to add one

collect2: ld returned 1 exit status

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

could not read symbols: Archive has no index

第1步

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

ar -t libfurzoom.a

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

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

第2步

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

file furzoom.o

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

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

第3步

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

nm furzoom.o

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

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

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

参考链接

Linux静态库的生成与使用 http://furzoom.com/Linux-create-and-use-static-lib/

如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
日志标题:《could not read symbols: Archive has no index》
日志链接:http://furzoom.com/could-not-read-symbols-archive-has-no-index/
博客名称:枫竹梦

【上一篇】
【下一篇】

发表评论

插入图片

NOTICE1:请申请gravatar头像,没有头像的评论可能不会被回复!

回到顶部