最近的项目中需要在Libcurl写一个wrapper,最好的办法是把我的wrapper和libcurl包在一起,做一个新的静态库

但是很遗憾,直接用以下命令产生的libmywrapper.a 是不能用的。

ar libmywrapper.a wrapper.o libcurl.a

  

原因是ar没有把libcurl.a做处理。

查了一下,有2个方法

1. 用ar -x 把libcurl.a 释放出来和wrapper.o 一起重新打包

2.还一种是利用ar脚本的方法,本质上还是类似,只是更高级了一些。

今天,我发现了一个新的方法,更方便一些

cp $(LIB_DIR)/libcurl.a libmywrapper.a

ar -r libmywrapper.a wrapper.o

  

原理很简单,先复制原来的lib,然后利用-r把新的wrapper插入到最后。

Linux gcc(ar命令)打包库到另一个库中的另外一种方法的更多相关文章

  1. Linux GCC常用命令

    1简介 2简单编译 2.1预处理 2.2编译为汇编代码(Compilation) 2.3汇编(Assembly) 2.4连接(Linking) 3多个程序文件的编译 4检错 5库文件连接 5.1编译成 ...

  2. (转)Linux GCC常用命令

    1简介 2简单编译 2.1预处理 2.2编译为汇编代码(Compilation) 2.3汇编(Assembly) 2.4连接(Linking) 3多个程序文件的编译 4检错 5库文件连接 5.1编译成 ...

  3. Linux GCC常用命令学习

    1简介 GCC 的意思也只是 GNU C Compiler 而已.经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言:它现在还支持 Ada 语言.C++ 语言.Java 语言.Objective ...

  4. 【转】Linux GCC常用命令

    转自:http://www.cnblogs.com/ggjucheng/archive/2011/12/14/2287738.html 1简介 2简单编译 2.1预处理 2.2编译为汇编代码(Comp ...

  5. 【转载】Linux GCC常用命令

    作者:ggjucheng 出处:https://www.cnblogs.com/ggjucheng/archive/2011/12/14/2287738.html 1简介 2简单编译 2.1预处理 2 ...

  6. Linux下用命令来执行kettle文件资源库的文件ktr与kjb的方法

    转载地址: https://blog.csdn.net/zuolovefu/article/details/78083445 1. 准备工作 一个简单的job,一个简单的trans. trans:读取 ...

  7. Linux之基础命令——打包压缩

    tar(备份与打包) linux中tar命令相当于win下的多个文件压缩成一个压缩文件. -c:创建新的备份文件 -x:还原压缩的备份文件 -f:需要备份归档的文件名 -j:使用bzip2解压缩 -z ...

  8. linux使用tar命令打包压缩时排除某个文件夹或文件

    今天在使用tar命令进行文件夹打包压缩的时候,需要打包压缩masalaPage目录,但是该目录中的2017,2016两个目录中的文件不进行打包压缩 所以通常使用的tar -zcvf masalaPag ...

  9. ar命令提取.a时刻,一个错误 is a fat file (use libtool(1) or lipo(1) and ar(1) on it)

    在减压.a当文件,据报一个类别似 xxx.a is a fat file (use libtool(1) or lipo(1) and ar(1) on it)的错误,经过查找资料,原来是由于该.a文 ...

随机推荐

  1. idea右键新建选项没有类和包的创建方式

    Intelidea创建好项目之后,右键新建Java class的时候发现没有改选项,只有以下几个选项 把sec目录设为源码目录,首先打开Project Structure

  2. 通过Java创建XML(中文乱码已解决)

    package com.zyb.xml; import java.io.FileOutputStream; import java.io.OutputStream; import java.io.Ou ...

  3. ubutun18 install ibus-pinyin

    ref: https://www.cnblogs.com/asmer-stone/p/9069866.html Step1 $ sudo apt-get install ibus-pinyin

  4. 算法设计与分析 - 李春葆 - 第二版 - pdf->word v1

    章─概论 练习题 . 下列关于算法的说法中正确的有( ).Ⅰ.求解某一类问题的算法是唯一的 Ⅱ.算法必须在有限步操作之后停止 Ⅲ.算法的每一步操作必须是明确的,不能有歧义或含义模糊Ⅳ.算法执行后一定产 ...

  5. 如何查看python的notebook文件.ipynb

    文章中的ipython notebook和jupyter notebook基本可以互换,不过使用ipython notebook会警告您要使用jupyter notebook.其他没有区别. ---- ...

  6. unity渲染优化

    https://blog.csdn.net/yudianxia/article/details/79339103 https://blog.csdn.net/e295166319/article/de ...

  7. pycharm安装PyQt框架

    首先需要安装必要插件 File  -->  Settings  -->  Project Interpreter 如果出现以下这种情况:请升级pip,参考:https://www.cnbl ...

  8. pygame学习的第一天

    pygame最小开发框架: import pygame, sys pygame.init() screen = pygame.display.set_mode((600, 480)) pygame.d ...

  9. firewalld学习-zone

    原文地址:http://www.excelib.com/article/290/show firewalld默认提供了九个zone配置文件: block.xml.dmz.xml.drop.xml.ex ...

  10. Ubuntu 19.10将使用GCC 9作为默认编译器

    作为我们这一周期一直期待的变化,Ubuntu 19.10升级到GCC 9作为GCC 8的默认系统编译器. Ubuntu 19.10(和Ubuntu 20.04 LTS)将使用GCC 9 stable作 ...