0

假设我创建my_package了依赖于库(或包)ext_package版本 1 的 ros 包。我已经ext_package在我的机器上独立安装,到目前为止一切正常......

现在,我创建了另一个new_package,但需要使用ext_packageros 提供的从主题中读取数据;需要使用网桥。但是 ROS 只提供ext_packageV2,与 V1 不兼容。我遇到了编译问题。

所以我必须完全重写my_package以适应 V2.... 这将是非常乏味的。

因此问题是:如何编辑CMake文件以使用位于的my_package独立文件?ext_package~/PathToLib/ext_package/build

我已经尝试过类似的东西,

unset(EXT_PACKAGE_CONFIG_PATH CACHE)
 unset(EXT_PACKAGE_DIR CACHE)

 message(STATUS  "...initial CMAKE_PREFIX_PATH:")
 message(STATUS ${CMAKE_PREFIX_PATH})

 set(TMP_PREFIX_PATH ${CMAKE_PREFIX_PATH})
 set(CMAKE_PREFIX_PATH "/home/${usrname}/soft/lib/ext_package/build/installed")

 message(STATUS  "... corrected CMAKE_PREFIX_PATH")
 message(STATUS ${CMAKE_PREFIX_PATH})

  SET (EXT_PACKAGE_ROOT "/home/${usrname}/soft/lib/ext_package/build/installed")
  SET (EXT_PACKAGE_INCLUDE_DIRS "/home/${usrname}/soft/lib/ext_package/build/installed/include")
  SET (EXT_PACKAGE_LIBRARY_DIR "/home/${usrname}/soft/lib/ext_package/build/installed/lib")
find_package(ext_package REQUIRED)

...但没有成功。请问有什么想法吗?

4

0 回答 0