我希望你能帮助我。
我有一个简单的CMakeLists.txt,以便在Leopard 10.5.8上构建我的项目。 我正在使用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时,我将include路径设置为/ opt / local / include 和库路径:/ opt / local / lib然后我指定库名称,如opencv_core,opencv_imgproc,opencv_video。
您能告诉我如何在CMakeLists.txt文件中添加这些信息吗?
我已经阅读了官方cmake常见问题解答中的一些信息,但我无法解决我的问题。
请帮助我。
非常感谢。
答案 0 :(得分:24)
您需要在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})