用CMakeLists生成静态库/动态库

其实关键就在add_library()这行,他的第一个参数是生成库的名字,第二个确定是静态还是动态库。
target_link_libraries(),可以往生成库ENC里添加库,这些库会包含在ENC里。如果另一个工程调用ENC,则不需要再添加对这些库的调用,因为ENC里已经包含。

cmake_minimum_required(VERSION 2.8.3)
project(srsconductor)
add_compile_options(-std=c++17)

add_definitions(-DWEBRTC_POSIX)
add_definitions(-DWEBRTC_LINUX)

include_directories(
    ${
    
    catkin_INCLUDE_DIRS}
)


add_library(ENC SHARED Encode.cpp main.cpp Interface.cpp Encode.h Interface.h)
#paho-mqttpp3 paho-mqtt3cs
target_link_libraries(ENC
    # ${
    
    PROJECT_NAME}_lib
    m 
    dl 
    pthread
    # std=c++11
    avformat 
    swresample
    avcodec
    avfilter
    avdevice 
    avutil 
    swscale
    shm
)

猜你喜欢

转载自blog.csdn.net/weixin_43466192/article/details/128415677