【问题标题】:Converting from GCC to CMake [duplicate]从 GCC 转换为 CMake [重复]
【发布时间】:2019-09-16 17:24:33
【问题描述】:

CMake 相当于什么:

gcc filename.c -o filename $(pkg-config --libs --cflags mylib)

我对@9​​87654322@ 部分很感兴趣,因为我已经有可以编译的代码,我只需要添加mylib 库。

【问题讨论】:

    标签: gcc cmake pkg-config cflags


    【解决方案1】:

    看看 FindPkgConfig 模块
    源:https://cmake.org/cmake/help/latest/module/FindPkgConfig.html

    CMakeLists.txt 示例:

    include(FindPkgConfig)
    
    pkg_check_modules(MYLIB REQUIRED mylib)
    ...
    add_executable(filename filename.c)
    target_include_directories(filename PUBLIC ${MYLIB_INCLUDE_DIRS})
    target_compile_options(filename PUBLIC ${MYLIB_CFLAGS})
    target_link_libraries(filename ${MYLIB_LIBRARIES})
    

    【讨论】:

    • 语句的顺序重要吗? add_executable 必须在那个位置,或者它可以排在第一个还是最后一个?
    • add_executable(foo ...) (ed 或 add_library(foo ...)) 将生成(即声明)CMake 目标 foo 所以它必须在任何其他目标之前target_() 函数后,您可以将 target_ 方法按任何顺序排列...
    猜你喜欢
    • 1970-01-01
    • 2023-03-04
    • 2016-12-06
    • 1970-01-01
    • 2011-11-28
    • 2013-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多