CMake从find_package覆盖库

时间:2014-07-29 14:56:47

标签: opencv cmake

我正在运行find_package(OpenCV, REQUIRED)来查找图书馆。它安装在构建系统和目标系统上,但目标略有不同,因为库的一部分不可用。

因此,在构建时,我会返回链接器标志,例如-lfoo -lbar。但是,目标计算机上没有条形码,我在应用程序的任何位置都没有使用它。对于cource,由于它是链接的,运行时链接器会抱怨无法找到它。

无论如何都要覆盖与find_package链接的库?我可能只是做一个字符串替换类型的解决方案,虽然我也感谢任何帮助,因为我是一个CMake新手。

由于

1 个答案:

答案 0 :(得分:0)

我想您可以从OpenCV_LIBRARIES变量中删除不需要的库:

list(REMOVE_ITEM OpenCV_LIBRARIES bar)

或者,您可以阅读FindOpenCV.cmake源代码来检查它是否支持COMPONENTS关键字。