DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

2019年1月9日

摘要: 开发一个应用程序不可避免要使用多个第三方库(library).默认情况下,gcc采用动态连接的方式连接第三方库,比如指定-lpng,连接程序就会去找libpng.so。 gcc提供了一个-static参数,可以改变gcc默认的连接方式,GNU官网上关于gcc连接选项的手册《3.14 Options 阅读全文
posted @ 2019-01-09 17:52 DoubleLi 阅读(5049) 评论(0) 推荐(0)

摘要: 场景是这样的。我在写一个Nginx模块,该模块使用了MySQL的C客户端接口库libmysqlclient,当然mysqlclient还引用了其他的库,比如libm, libz, libcrypto等等。对于使用mysqlclient的代码来说,需要关心的只是mysqlclient引用到的动态库。大 阅读全文
posted @ 2019-01-09 17:29 DoubleLi 阅读(2089) 评论(0) 推荐(0)

摘要: 将 liblog4cpp.a 链接进一个 so, 编译时出现 : liblog4cpp.a(RollingFileAppender.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a sh 阅读全文
posted @ 2019-01-09 17:04 DoubleLi 阅读(344) 评论(0) 推荐(0)

摘要: ./configure CFLAGS=" -g " ./configure CFLAGS=" -g " 当然,c++代码就把 CFALGS 改成 CPPFLAGS 阅读全文
posted @ 2019-01-09 14:02 DoubleLi 阅读(362) 评论(0) 推荐(0)

摘要: 1.库的分类 根据链接时期的不同,库又有静态库和动态库之分。 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行。 有别于静态库,动态库的链接是在程序执行的时候被链接的。所以,即使程序编译完,库仍须保留在系统上,以供程 阅读全文
posted @ 2019-01-09 10:33 DoubleLi 阅读(510) 评论(0) 推荐(0)