【问题标题】:How can I set libraries in "Other linker flags" with CMake?如何使用 CMake 在“其他链接器标志”中设置库?
【发布时间】:2012-09-27 14:40:58
【问题描述】:

我正在尝试使用 cmake 生成 Xcode 项目,但我无法在项目设置中定义“其他链接器标志”。 我使用过“target_link_libraries”,但它不起作用。 有什么线索吗? 我想要做的是定义哪些库必须包含在链接中。如果我手动操作,我会以“-lopencv_core”为例。

【问题讨论】:

  • 这就是target_link_libraries 的用途,所以我猜它的使用方式有问题。
  • 您是否通过全路径指定了库?也许您还需要使用 link_directories()。

标签: xcode cmake


【解决方案1】:

*target_link_libraries* 应该为您处理它。如果您还没有使用FindOpenCV.cmake 模块来定位可能存在问题的库,那么接下来您应该尝试一下。为此,首先获取 FindOpenCV.cmake 文件并将其放在您的项目路径中(通常是 {project_dir}/cmake/Modules),然后将以下行添加到您的 CMakeLists.txt:

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")

这将告诉 CMake 在解析库时使用自定义 FindOpenCV.cmake。然后添加:

FIND_PACKAGE( OpenCV REQUIRED )
TARGET_LINK_LIBRARIES( PROJECT_NAME_HERE ${OpenCV_LIBS} )

虽然您不需要这样做,但您可以通过 CMAKE_SHARED_LINKER_FLAGS 设置链接器标志。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    • 1970-01-01
    • 2015-01-24
    • 2021-11-02
    相关资源
    最近更新 更多