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。
至此,问题应该已经解决了,如果还没有,欢迎讨论!
更多请参考枫竹梦。
could not read symbols: Archive has no index;的更多相关文章
- Could not read symbols解决方法
Could not read symbols 陈运文 Could not read symbols:Linux/UNIX系统下编译时,常见的一类报错信息. 通常情况下,该编译报错信息之前会给出出现错误 ...
- mingw 构建 gdal 2.1.2
目录 1.准备 2.生成Makefile 3.编译 4.编译遇到错误及解决办法 1.生成静态库时候ar提示参数列表太长 2.生成动态库时候g++提示参数列表太长 前两日有人在oschian上问我min ...
- gcc编译工具生成动态库和静态库之一----介绍
1.库的分类 根据链接时期的不同,库又有静态库和动态库之分. 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行. ...
- gcc编译工具生成动态库和静态库
一. 库的分类 1.1. 静态库(.a) 1.1.1. 静态库的代码在编译过程中已经被载入可执行程序,因此体积比较大.所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行. 1. ...
- linux静态库
库文件可以理解为别人写好的现成的代码,但是看不见源码,只提供程序入口.库又分为动态库和静态库,静态库是在编译的时候将库编译进可执行程序中,运行时不再依赖库文件,而动态库是在运行时加载,运行时需要依赖库 ...
- vue使用远程在线更新代码
一.main.js import Vue from 'vue' import App from './App' import router from './router' import Vuex fr ...
- DecimalFormat详解
DecimalFormat继承自NumberFormat,可以使用它将十进制的数以不同形式格式化为字符串形式,可以控制前导和尾随0.前缀.后缀.分组(千).小数分隔符等,如果要更改格式符号(例如小数点 ...
- kaldi脚本注释二
steps/decode.sh #!/bin/bash # Copyright 2012 Johns Hopkins University (Author: Daniel Povey) # Apach ...
- PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载 && Linux下的ZipArchive配置开启压缩 &&搞个鸡巴毛,写少了个‘/’号,浪费了一天
PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有 ...
随机推荐
- MySQL5.6安装图解(windows7/8_64位)
这篇文章主要内容是关于MySQL5.6安装图解,希望通过这篇文章顺利解决大家安装MySQL5.6的问题,再也不用为了安装烦恼. 1. 下载MySQL2. 解压MySQL压缩包将以下载的MySQL压缩包 ...
- java类中,成员变量赋值第一个进行,其次是静态构造函数,再次是构造函数
如题是结论,如果有人问你Java类的成员初始化顺序和初始化块知识就这样回答他.下面是代码: package com.test; public class TestClass{ // 成员变量赋值第一个 ...
- DFRobot万物互联大赛第二轮
前言 最近放在阳台的花草被啥东西给吃了,然后厨房挂在墙上的小虾米也不知道咋的被抓破吃光了(我怀疑是隔隔壁两条泰迪),所以打算做个简单的项目,教训一下偷吃贼.时间比较仓促,内容比较多,能力有比较有限,好 ...
- HDOJ--2112--
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- vuex mapState使用
<template> <div> {{count}} <button @click="handleIncrease">+5</button ...
- UML的基本图(三)
An artifact diagram shows the physical constituents of a system on the computer. Artifacts includ ...
- MySQL数据库 常用命令
1.MySQL常用命令 create database name;创建数据库 use databasename;选择数据库 drop database name 直接删除数据库,不提醒 show ta ...
- GitHub使用问题(遇到一个记一个)
1.如何创建文件夹: 如图,Create new files,点击后,若需要创建文件,输入文件名即可,但如果创建的是文件夹,需要在文件夹名后 加一个 '/'斜杠,然后就变成文件夹了
- CentOS下安装python3.x版本
现在python都到了3.x版本,但是centos中自带的python仍然是2.7版本的,所以想把python换成3.x版本的. 但是这个地方有个坑,你要是直接编译安装了python3.x之后,估计你 ...
- go的timer定时器实现
示例如下: package main import ( "fmt" "time" ) func testTimer1() { go func() { fmt.P ...