CMake:Link 不同的 OpenCV 库到同一项目的不同可执行文件
CMake: Link different OpenCV libs to different executables of same project
我有一个使用 OpenCV 的项目,其项目文件是通过 cmake 生成的。现在在 CMake 中添加 opencv 库通常是这样的:
find_package(OpenCV REQUIRED core highgui gpu)
add_executable(SomeExecutable someSource.cpp)
target_link_libraries(SomeExecutable ${OpenCV_LIBS})
这将 link libs 核心、highgui 和 gpu 添加到此可执行文件中。现在,如果我有一个包含多个可执行文件的项目,是否可以将不同的 OpenCV 库添加到不同的可执行文件中? (例如,因为我不希望其他应用程序加载不必要的库)。
你不应该 link 你的目标包含所有找到的包。而不是写:
target_link_libraries(SomeExecutable ${OpenCV_LIBS})
你可能想写:
target_link_libraries(SomeExecutable cxcore highgui)
对于 OpenCV 库的名称,请检查 CMake 路径中的 FindOpenCV.cmake 文件。
我有一个使用 OpenCV 的项目,其项目文件是通过 cmake 生成的。现在在 CMake 中添加 opencv 库通常是这样的:
find_package(OpenCV REQUIRED core highgui gpu)
add_executable(SomeExecutable someSource.cpp)
target_link_libraries(SomeExecutable ${OpenCV_LIBS})
这将 link libs 核心、highgui 和 gpu 添加到此可执行文件中。现在,如果我有一个包含多个可执行文件的项目,是否可以将不同的 OpenCV 库添加到不同的可执行文件中? (例如,因为我不希望其他应用程序加载不必要的库)。
你不应该 link 你的目标包含所有找到的包。而不是写:
target_link_libraries(SomeExecutable ${OpenCV_LIBS})
你可能想写:
target_link_libraries(SomeExecutable cxcore highgui)
对于 OpenCV 库的名称,请检查 CMake 路径中的 FindOpenCV.cmake 文件。