如何在ros ubuntu中更改包中库的目录

How to change directory of a library in a package in ros ubuntu

本文关键字:包中库 ros ubuntu      更新时间:2023-10-16

我已经通过在家中解压缩opencvv2.4.9.zip安装了opencvv2.4.9(无CUDA)。许多成功的代码都在使用这个库。现在我想在另一个文件夹中重建opencv2.4.9(使用CUDA)。我不想删除以前的文件夹,因为我不想以后遇到任何问题,让我的旧代码无法运行。

那么,问题是如何更改目录的名称?似乎我们将包与CMake中的库链接如下:

include_directories(${catkin_include_DIRS}${OpenCV_include_DIRS})

find_package(需要OpenCV)

find_package(需要catkin组件cv_bridge image_transportOpenCV roscpp rospy std_msgs)

目录的名称只是OpenCV。所以,如果我家里有多个OpenCV库,我该如何将它们单独链接?

如果我们可以更改名称,如何使c++链接到库?

add_executable(xxx src/xxx.cpp)
target_link_libraries(xxx ${catkin_LIBRARIES} ${OpenCV_LIBRARIES})

库可以包含并与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库的标准链接。