`
flowaters
  • 浏览: 39771 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

gcc同时使用动态和静态链接

阅读更多

其中用到的两个选项:-Wl,-Bstatic和-Wl,-Bdynamic。这两个选项是gcc的特殊选项,它会将选项的参数传递给链接器,作为链接器的选项。比如-Wl,-Bstatic告诉链接器使用-Bstatic选项,该选项是告诉链接器,对接下来的-l选项使用静态链接;-Wl,-Bdynamic就是告诉链接器对接下来的-l选项使用动态链接。


示例:

gcc foo.c -Wl,-Bstatic-lbar -lbaz -lqux -Wl,-Bdynamic-lcorge -o foo.exe

 

参考:

1. http://www.dutor.net/index.php/2011/12/mix-dynamic-and-static-linking/

2. http://stackoverflow.com/questions/2954387/can-i-mix-static-and-shared-object-libraries-when-linking

分享到:
评论

相关推荐

    GCC编译动态和静态链接库.pdf

    GCC编译动态和静态链接库.pdf 学习资料 复习资料 教学资源

    gcc编译动态和静态链接库

    转载的gcc编译方法,开发时老是忘记,作为资源吧,省得找了。

    动态和静态链接库

    gcc编译动态和静态链接库.pdf,教你如何编译和使用库,提高程序的理解力

    GCC 编译使用动态链接库和静态链接库的方法

    根据链接时期的不同,库又有静态库和动态库之分。 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行。 有别于静态库,动态...

    gcc常用参数(静动态链接 优化 调试)

    介绍gcc下常用的一些参数,包括预编译、编译、汇编和链接,以及优化和调试。静态链接与动态链接的内容。绝对原创!!

    使用gcc建立并调用静态库与动态库

    用GCC编译器制作静态库和动态库的方法简介。

    stm32代码在ubuntu linux使用gcc编译的链接文件

    stm32代码在ubuntu linux使用gcc编译的链接文件 link.ld 具体参考博客: http://blog.csdn.net/embbnux/

    grpc-1.30.2 Linux 编译静动态库

    默认编译是静态库,但考虑到 linux 上动态库使用较多,所以使用 -DBUILD_SHARED_LIBS=ON 参数编译为动态库。 在 centos 7 下使用 gcc 4.8.5 + cmake 3.16.9 编译,包含 bin, include, lib, lib64, share 五个目录,...

    再议GCC编译时的静态库依赖次顺问题

    这是最常规的解决办法,除此之外,只需要加入--start-group和--end-group两个链接参数,即可保持被依赖的库放在前头,也就是改成如下即可:g++ -g -o $@ -Wl,--start-group $^ -Wl,--end-group。 这里的“-Wl,”...

    静态库和动态库:.doc

    源码经过编译生成对象文件,对象文件进一步处理可以生成可执行程序或者库文件。...对于可执行程序和动态库,此“进一步处理”指的是“链接”,使用gcc命令。 对于静态库,此“进一步处理”指的是“打包”,使用ar命令。

    一文教你如何构建静态链接库.md

    话说ISOC99有自己的一系列标准C函数库,例如我们熟悉的libc.a(包含标准I/O函数、字符串操作函数和整数数学函数)和libm.a(浮点数数学函数),可供我们在使用gcc编译工具编译程序时调用。那么,如果我们在日常学习...

    Linux静态链接库与模板类的处理方式

    在阅读本文之前,小编先给大家介绍一篇相关文章:Linux静态链接库使用类模板的快速排序算法 大家首先看下以上的文章对理解下面的知识点会有很大的帮助。 当模板遇到静态链接库会发生什么呢。 我们先按照常规思路去...

    gcc链接培训第一课

    公司的入门培训,如何使用gcc如何进行编译,交叉编译

    C++链接库的使用,二维向量,三维向量

    1.熟悉各种Linux操作命令;并编写程序,使用GNU gcc/g++进行...3)分别用静态链接和共享链接的方式测试向量的使用。 3.创建包含二维向量和三维向量的向量库:libVector.a和 libVector.so,并分别写出对应的MakeFile文件

    wxMSW-3.1.2_gcc510TDMGCC_x64_Dev

    使用方法:包含编译器相关头文件、wx头文件、指定__WXMSW__、_UNICODE、NDEBUG(发行版专用)、WSUSINGDLL(动态库专用)这几个宏,指定-finput-chaaset=GBK(系统的编码),指定链接库,使用TDMGCC编译GBK(系统...

    动态库和静态库用法

    预处理 编译 汇编 链接 下面逐个使用 预编译:宏替换 ,文件引入 ,去除空行,注释,为编译做准备 预编译命令: gcc -E test.c -o test.i test.c中内容 #include int main(){ printf(“hello world!\n”); return 0; } -E...

    LinkAllSymbols:强制将所有静态库符号链接到 .exe 目标,以在 Windows 上进行完整的代码覆盖测量

    在我们使用 gcc 的 Unix 下,我们可以将标志--whole-archive传递给链接器 ld,这使得 ld 不会丢弃任何对象。 在 Windows Visual Studio 下,没有等效于 GNU ld 的选项 --whole-archive。 链接器选项/ OPT:NOREF也...

    Linux静态库与动态库实例详解

    1. Linux 下静态链接库编译与使用 首先编写如下代码: // main.c #include test.h int main(){ test(); return 0; } // test.h #include using namespace std; void test(); // test.c #include test.h void test...

    Dev-CppMingw32环境介绍(DOC)

    第八章 制作自己的静态链接库 第九章 制作自己的动态链接库 第十章 使用自己的动态链接库 第十一章 在Dev-Cpp中创建自己的工程 第十二章 在Dev-Cpp中生成自己的包 第十三章 Dev-Cpp包制作补完篇 第十四章 wxWidget的...

Global site tag (gtag.js) - Google Analytics