【问题标题】:How to include OpenCV libraries in CMake Makefile如何在 CMake Makefile 中包含 OpenCV 库
【发布时间】:2011-03-31 16:06:34
【问题描述】:

我希望你能帮助我。

为了在 Leopard 10.5.8 上构建我的项目,我有一个简单的 CMakeLists.txt。 我正在使用 CMake 2.8.1,目前这是代码:

cmake_minimum_required(VERSION 2.8)
MESSAGE(STATUS "./src: Going into utils folder")
ADD_SUBDIRECTORY(utils)
MESSAGE(STATUS "./src: utils folder processed")

include_directories(${DIR}/headers)
link_directories (${DIR}/src/utils)

ADD_EXECUTABLE(sample sample.cpp)
TARGET_LINK_LIBRARIES(sample libSample ${EXTERNAL_LIBS})
INSTALL(TARGETS sample DESTINATION "./src")
MESSAGE(STATUS "./src: exiting src folder")

我需要在我的项目中添加 OpenCV 库。 当我使用 Eclipse 时,我将包含路径设置为 /opt/local/include 以及库路径:/opt/local/lib,然后我指定库名称,例如_opencv_core、opencv_imgproc、opencv_video。

您能告诉我如何在 CMakeLists.txt 文件中添加这些信息吗?

我已阅读官方 cmake 常见问题解答中的一些信息,但我无法解决我的问题。

请帮帮我。

非常感谢。

【问题讨论】:

    标签: opencv cmake osx-leopard


    【解决方案1】:

    您需要在 TARGET_LINK_LIBRARIES 命令中添加库名称,但您需要添加不带 lib 前缀的库名称。例如:

    include_directories(${DIR}/headers /opt/local/include)
    link_directories (${DIR}/src/utils /opt/local/lib)
    
    ADD_EXECUTABLE(sample sample.cpp)
    TARGET_LINK_LIBRARIES(sample opencv_core opencv_imgproc opencv_video ${EXTERNAL_LIBS})
    

    【讨论】:

    • 这是某种约定吗?省略 lib- 前缀?我是 linux 新手,我在这方面浪费了一些时间。这是否也适用于其他项目,还是 OpenCV 特有的?
    • 是的,这是 Unix 上的约定。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-11
    • 2018-03-15
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 2015-11-09
    • 2018-02-27
    相关资源
    最近更新 更多