【问题标题】:Failure to link Qhull C++ interface in ROS catkin projectROS catkin项目中链接Qhull C++接口失败
【发布时间】:2017-05-26 07:39:48
【问题描述】:

我在让 QHull C++ 接口在 catkin 项目中工作时遇到了一些问题。我的项目编译正常,我已经指定了链接器要使用的库,但是它无法链接并显示以下错误消息。

CMakeFiles/path_to/my_code.cpp.o: In function `main':
my_code.cpp:(.text+0x17ab): undefined reference to `orgQhull::RboxPoints::RboxPoints()'
my_code.cpp:(.text+0x182a): undefined reference to `orgQhull::PointCoordinates::appendPoints(std::istream&)'
my_code.cpp:(.text+0x1839): undefined reference to `orgQhull::Qhull::Qhull()'
my_code.cpp:(.text+0x1857): undefined reference to `orgQhull::Qhull::runQhull(orgQhull::RboxPoints const&, char const*)'
my_code.cpp:(.text+0x18aa): undefined reference to `orgQhull::Qhull::outputQhull(char const*)'
my_code.cpp:(.text+0x19d0): undefined reference to `orgQhull::Qhull::~Qhull()'
my_code.cpp:(.text+0x19ee): undefined reference to `orgQhull::RboxPoints::~RboxPoints()'
my_code.cpp:(.text+0x1c10): undefined reference to `orgQhull::Qhull::~Qhull()'
my_code.cpp:(.text+0x1c38): undefined reference to `orgQhull::RboxPoints::~RboxPoints()'
CMakeFiles/build_path/my_code.cpp.o: In function `orgQhull::Qhull::setOutputStream(std::ostream*)':

我已经安装了以下软件包,以获取共享对象和开发文件。

  • libqhull-dev
  • libqhull 文档
  • libqhull7
  • qhull-bin

我不知道这是否与问题有关,但查看 libqhull.so 共享对象中没有符号。

####:/usr/lib/x86_64-linux-gnu$ nm -g libqhull.so
nm: libqhull.so: no symbols

有没有人有过让这个在 linux 上工作的经验?任何帮助将不胜感激。

【问题讨论】:

  • 这是一个链接问题,如果您发布您的项目 CMakeLists 文件会有所帮助?

标签: c++ ros shared-objects catkin qhull


【解决方案1】:

我正在使用 ROS Indigo,这对我有用:

SET(qhullDir path_to_qhull_code)
INCLUDE_DIRECTORIES(${qhullDir}/src/libqhullcpp)
INCLUDE_DIRECTORIES(${qhullDir}/src)
LINK_DIRECTORIES(${qhullDir}/build)

INCLUDE_DIRECTORIES(${qhullDir}/src/libqhullcpp)
INCLUDE_DIRECTORIES(include)

SET(qhullLibs qhullcpp qhull_r)
add_library(${PROJECT_NAME}_library
  src/myClass.cpp) 

add_executable(libExample
 src/myrunnable.cpp)
target_link_libraries(libExample
 ${PROJECT_NAME}_library ${qhullLibs})
SET_TARGET_PROPERTIES(libExample PROPERTIES
 COMPILE_DEFINITIONS "qh_QHpointer")

我正在使用 cmake 从源代码编译 qhull。

也许这对某人有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多