CMake:将不同的OpenCV库链接到同一项目的不同可执行文件

时间:2015-03-22 11:37:27

标签: c++ opencv cmake

我有一个使用OpenCV的项目,其项目文件是通过cmake生成的。现在在CMake中添加opencv库通常是这样的:

find_package(OpenCV REQUIRED core highgui gpu)
add_executable(SomeExecutable someSource.cpp)
target_link_libraries(SomeExecutable ${OpenCV_LIBS})

将libs核心,highgui和gpu链接到此可执行文件。现在,如果我有一个包含多个可执行文件的项目,是否可以将不同的OpenCV库添加到不同的可执行文件中? (例如,因为我不希望其他应用程序加载不必要的库)。

1 个答案:

答案 0 :(得分:1)

您不应将目标与所有找到的包相关联。而不是写:

target_link_libraries(SomeExecutable ${OpenCV_LIBS})

你可能想写:

target_link_libraries(SomeExecutable cxcore highgui)

对于OpenCV库的名称,请检查CMake路径中的FindOpenCV.cmake文件。