美文网首页
cmake 库的不同引用方式

cmake 库的不同引用方式

作者: book_02 | 来源:发表于2021-07-13 14:24 被阅读0次

    1. 不同库有不同的引用方式

    OpenCV 使用 ${OpenCV_LIBS}

    target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS})
    

    protobuf 使用 ${PROTOBUF_LIBRARIES}

    target_link_libraries(${PROJECT_NAME} ${PROTOBUF_LIBRARIES})
    

    jpeg-turbo 使用 libjpeg-turbo::turbojpeg-static 的target名称

    target_link_libraries(${PROJECT_NAME} libjpeg-turbo::turbojpeg-static)
    

    2. 怎么确定使用哪种方式

    一般有如下方法:

    1. 查找 cmake 文件,看其使用说明。(一般写得好的cmake文件会有使用说明)
    2. 查找网上其他人是怎么使用的
    3. 搜 cmake 文件是否有相关的变量,比如搜OpenCV的相关cmake文件是否有"OpenCV_LIBS"变量
    4. 查 cmake 文件中相关的target名称

    2.1 查找 cmake 文件,看其使用说明

    比如OpenCV
    在OpenCVConfig.cmake文件顶部会有使用说明如下:

    image

    2.2 搜 cmake 文件是否有相关的变量

    比如 protobuf
    在protobuf-module.cmake中搜到 PROTOBUF_LIBRARIES 变量

    image

    2.3 查 cmake 文件中相关的target名称

    比如jpeg-turbo
    查看 libjpeg-turboTargets.cmake 文件发现相关的target: libjpeg-turbo::turbojpeg-static

    image

    不知道大家都是怎么确定的呢

    相关文章

      网友评论

          本文标题:cmake 库的不同引用方式

          本文链接:https://www.haomeiwen.com/subject/yfqspltx.html