我已经通过在家中解压缩opencv2.4.9.zip来安装opencv2.4.9(没有CUDA)。 许多成功的代码正在使用此库。 现在我想在另一个文件夹中重建opencv2.4.9(带CUDA)。 我不想删除之前的文件夹,因为我以后不想面对任何问题,让我的旧代码无法正常运行。
那么,问题是如何更改目录的名称?好像我们将包与CMake中的库链接如下:
include_directories($ {catkin_INCLUDE_DIRS} $ {OpenCV_INCLUDE_DIRS})
find_package(OpenCV REQUIRED)
find_package(catkin REQUIRED COMPONENTS cv_bridge image_transport OpenCV roscpp rospy std_msgs)
目录的名称只是OpenCV。 因此,如果我在家中有多个OpenCV库,我怎么能单独链接它们呢?
如果我们可以更改名称,如何使c ++链接到库?
add_executable(xxx src/xxx.cpp) target_link_libraries(xxx ${catkin_LIBRARIES} ${OpenCV_LIBRARIES})
答案 0 :(得分:1)
可以包含库并与include_directories()
和link_directories()
相关联,如下所示:
cmake_minimum_required(VERSION 2.4.6)
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)
...
include_directories(${PROJECT_SOURCE_DIR})
include_directories(/path/to/opencv/OpenCV-2.4.1/include)
link_directories(/path/to/opencv/OpenCV-2.4.1/lib)
...
# Set the build type. Options are:
# Coverage : w/ debug symbols, w/o op ...
所以你不应该忘记CMakeLists.txt
中的链接,也许会删除与当前OpenCV库的标准链接。