DoubleLi

qq: 517712484 wx: ldbgliet

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

2020年10月13日

摘要: 1、先了解一下什么是PATH环境变量 (1)环境变量 环境变量相当于“快捷键”。 一个“HOME=/home/ACCP286”的环境变量指明你在这个电脑上的个人主目录是“/home/ACCP286”,你每次要回到个人主目录时,不需要输入“cd /home/ACCP286”,只需要“cd $HOME” 阅读全文
posted @ 2020-10-13 15:48 DoubleLi 阅读(1907) 评论(0) 推荐(0) 编辑

摘要: 目录 目录 1 前言 1 方法 1 附1:链接静态库的顺序问题 2 附2:再议GCC编译时的静态库依赖次顺问题 3 附3:gcc链接参数--whole-archive的作用 4 附4:让有些“-l”链接静态库,而另一些链接共享库? 6 附5:相关博文 6 前言 C/C++程序的许多同学被静态库的依赖 阅读全文
posted @ 2020-10-13 14:05 DoubleLi 阅读(758) 评论(0) 推荐(0) 编辑

摘要: gcc/g++链接时.o文件以及库的顺序问题 1 写在前面 最近换了xubuntu12.4,把原来的项目co出来编译的时候报“undefined reference to”。猜测是gcc的版本问题,用-v跟踪一下,发现gcc-4.6默认开 启了ld的–as-needed选项。关闭该选项(–no-as 阅读全文
posted @ 2020-10-13 13:57 DoubleLi 阅读(807) 评论(0) 推荐(0) 编辑

摘要: 解决两个静态库之间相互依赖的问题 两个静态库之间相互依赖:在静态库liba.a中声明了某些函数,但是实现在libb.a中,此时a库依赖于b库;然后在静态库中libb.a中,某些结构体或者变量在liba.a中声明的,此时b库依赖于a库。 然后链接的时候,会出现两个库之间的相互依赖问题。链接涉及到顺序问 阅读全文
posted @ 2020-10-13 13:56 DoubleLi 阅读(3350) 评论(0) 推荐(0) 编辑

摘要: LD_LIBS += -lc -lfreetype -ltde -ljpge -lz -ljpeg -lplayer -lsubdec RLDFLAGS += -Wl,--start-group \ -lpthread $(LD_LIBS) -Wl,--end-group 在相互依赖的库间加上 -W 阅读全文
posted @ 2020-10-13 13:50 DoubleLi 阅读(1112) 评论(0) 推荐(0) 编辑

摘要: Linux GCC中,如果lib a依赖b,b又依赖a,链接的时候无论a放在前,还是b放在前,都会提示unrefrence。 解决办法就是: 链接的时候a链接两次,即: -la -lb -la 阅读全文
posted @ 2020-10-13 13:49 DoubleLi 阅读(919) 评论(0) 推荐(0) 编辑

摘要: link时,若liba.a依赖libb.a,若这样写 -lb -la,则链接通不过,gcc有个选项:-Xlinker ,可以让gcc在链接时反复查找依赖库,用法 : gcc -shared -o libxx.so xx.o -L. -Xlinker "-(" -lb -la "-)" -Xlinke 阅读全文
posted @ 2020-10-13 13:46 DoubleLi 阅读(752) 评论(0) 推荐(0) 编辑

摘要: 相关博文1:http://blog.chinaunix.net/uid-20682147-id-76330.html相关博文:http://blog.chinaunix.net/uid-20682147-id-5096676.html假设有如三个源代码文件: $ cat a.cpp void a() 阅读全文
posted @ 2020-10-13 13:44 DoubleLi 阅读(343) 评论(0) 推荐(0) 编辑

摘要: GCC或G++在编译链接时,如果命令行中含有库,则要特别注意了。根据《C专家编程》5.3节中的提示,GCC在链接时对命令行时的处理顺序是从左到右。证据是GCC的MAN: -l library Search the library named library when linking. (The se 阅读全文
posted @ 2020-10-13 13:39 DoubleLi 阅读(479) 评论(0) 推荐(0) 编辑

摘要: 通过增加编译宏实现条件编译 ADD_DEFINITIONS(-D宏名称 -D宏名称......) camke文件如下: cmake_minimum_required(VERSION 2.8) PROJECT (hello) SET(SRC_LIST main.c) MESSAGE(STATUS "T 阅读全文
posted @ 2020-10-13 10:49 DoubleLi 阅读(3793) 评论(0) 推荐(0) 编辑