CMAKE使用链接第三方SO库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CMAKE使用链接第三方SO库相关的知识,希望对你有一定的参考价值。

参考技术A CMake

命名变量

set(INC_DIR /usr/local/include)

set(LINK_DIR /usr/local/lib)

set(SOURCE_FILES main.cpp)

去哪里找头文件 相当于gcc/clang 中的-I(i的大写字母)参数

include_directories($INC_DIR)    # 用$引用变量

去哪里找库文件 .so .dll .dylib 相当于gcc 中的-L参数

link_directories($LINK_DIR)

要链接的库文件的名字 相当于gcc中的-l(小写的l)参数

target_link_libraries(test)

只写库名就可以,就是libxxx.so的中间xxx的部分

也可以写成下面这样

target_link_libraries(test)

通过上面的这些关键词,我们就可以使用第三方库了。

cmake_minimum_required(VERSION 2.8.12)

PROJECT (main)

ADD_EXECUTABLE(main main.c)

INCLUDE_DIRECTORIES(/usr/include/hello)

# 静态链接库

# TARGET_LINK_LIBRARIES(main libhello.a)

# 动态链接库

set(LINK_DIR /usr/local/lib)

link_directories($LINK_DIR)

target_link_libraries(main libhello.so)

拷贝动态链接库的时候需要注意符号链接是否还在

以上是关于CMAKE使用链接第三方SO库的主要内容,如果未能解决你的问题,请参考以下文章

使用CMake引入第三方so库及头文件

怎么使用CMake链接不同版本的第三方库

CMake:将第三方库链接到项目库

cmake 学习笔记

CMake配置工程链接库

Android怎么调用第三方SO动态链接库