DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 119 120 121 122 123 124 125 126 127 ··· 474 下一页

2020年10月13日

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

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

2020年10月12日

摘要: 罗列一下cmake常用的命令。 CMake支持大写、小写、混合大小写的命令。 1. 添加头文件目录INCLUDE_DIRECTORIES 语法: include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...]) 它相当于g++选项中的-I参数的 阅读全文
posted @ 2020-10-12 16:36 DoubleLi 阅读(657) 评论(0) 推荐(0)

摘要: cmake中添加引用动态链接和静态链接库 ADD_EXECUTABLE(a.out ./main.cpp)TARGET_LINK_LIBRARIES(a.out /usr/lib/libeg.so) 动态库的添加: link_directories(${PROJECT_SOURCE_DIR}/lib 阅读全文
posted @ 2020-10-12 16:30 DoubleLi 阅读(11135) 评论(0) 推荐(1)

摘要: 可以通过两种方式指定生成的Makefile的编译模式,一种是在cmake命令后显示指定编译模式,一种可以把编译的模式配置写在CMakeLists.txt中。 方式一:显示指定 mkdir Release cd Release cmake -DCMAKE_BUILD_TYPE=Release .. m 阅读全文
posted @ 2020-10-12 16:11 DoubleLi 阅读(317) 评论(0) 推荐(0)

上一页 1 ··· 119 120 121 122 123 124 125 126 127 ··· 474 下一页