opencv的target_link_libraries(videostab ${OpenCV_LIBS})在哪里改
时间: 2023-07-20 10:21:36 浏览: 62
`target_link_libraries()`函数是在CMake中用于链接库的函数,其中`videostab`是要链接的目标库的名称,`${OpenCV_LIBS}`是OpenCV库的变量名称,用于指定要链接的库。
如果你想修改`target_link_libraries(videostab ${OpenCV_LIBS})`这一行,可以在你的CMakeLists.txt文件中查找这一行。如果你需要在链接时添加其他库,可以在这一行中添加需要链接的库的名称。例如,如果你需要链接Boost库,可以修改为`target_link_libraries(videostab ${OpenCV_LIBS} boost)`。
相关问题
set(OpenCV_DIR D:\\opencv\\mingw-build) find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) target_link_libraries(open_test ${OpenCV_LIBS})
这是一个CMakeLists.txt文件中的代码片段,用于配置和链接OpenCV库。该代码会在指定的路径中寻找OpenCV库并将其链接到名为open_test的目标可执行文件中。
第一行设置了OpenCV_DIR变量,指定了OpenCV库的路径。你可以根据实际情况修改路径。
第二行使用find_package命令查找并加载OpenCV库。这将设置OpenCV_INCLUDE_DIRS和OpenCV_LIBS变量,分别包含了OpenCV头文件的路径和链接OpenCV库所需的库文件。
第三行使用include_directories命令将OpenCV头文件的路径添加到编译器的搜索路径中,以便在编译时能够找到OpenCV头文件。
最后一行使用target_link_libraries命令将OpenCV_LIBS变量中的库文件链接到open_test目标可执行文件中,以便在运行时能够使用OpenCV库的功能。
请注意,这段代码仅适用于使用CMake构建的项目,且需要先安装配置好OpenCV库。
target_link_libraries(rknn_shilinsanitation ${RKNN_RT_LIB} ${RGA_LIB} ${OpenCV_LIBS} PRIVATE OpenSSL::SSL OpenSSL::Crypto) CMake Error at CMakeLists.txt:89 (target_link_libraries): The INTERFACE, PUBLIC or PRIVATE option must appear as the second argument, just after the target name. CMake Error at CMakeLists.txt:97 (target_link_libraries): The INTERFACE, PUBLIC or PRIVATE option must appear as the second argument, just after the target name.
这个错误提示你在两个 `target_link_libraries` 命令中都没有正确指定链接选项的位置。
在 CMake 中,`target_link_libraries` 命令的语法如下:
```cmake
target_link_libraries(target-name [PRIVATE|PUBLIC|INTERFACE] library-name1 [library-name2 ...])
```
其中,`target-name` 表示要链接的目标名称,`library-name1`、`library-name2` 等表示要链接的库名称。选项 `PRIVATE`、`PUBLIC` 和 `INTERFACE` 用于指定链接选项的作用范围,必须紧跟在 `target-name` 后面。
为了解决这个问题,你需要将 `PRIVATE`、`PUBLIC` 或 `INTERFACE` 选项放在目标名称之后,例如:
```cmake
target_link_libraries(your-target-name PRIVATE library-name1 library-name2 ...)
```
对于你的情况,你需要将 `PRIVATE OpenSSL::SSL OpenSSL::Crypto` 选项放在目标名称 `${RKNN_RT_LIB} ${RGA_LIB} ${OpenCV_LIBS}` 后面,即:
```cmake
target_link_libraries(rknn_shilinsanitation ${RKNN_RT_LIB} ${RGA_LIB} ${OpenCV_LIBS} PRIVATE OpenSSL::SSL OpenSSL::Crypto)
```
这样就可以正确指定链接选项的位置,避免出现上述错误。