2017-01-11 19 views
0

catkin 프로젝트에서 QHull C++ 인터페이스를 작동하는 데 문제가 있습니다. 내 프로젝트가 잘 컴파일되고 링커에서 사용할 라이브러리를 지정했지만 다음 오류 메시지와 연결되지 않습니다.ROS catkin 프로젝트에서 Qhull C++ 인터페이스를 연결하지 못했습니다.

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 - 빈

이이 문제와 관련,하지만 libqhull에보고하면 나도 몰라. 그래서 공유 된 객체에는 심볼이 없습니다.

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

누구나 리눅스에서 작동하도록 얻은 경험이 있습니까? 어떤 도움을 주시면 감사하겠습니다. 내가 ROS 인디고를 사용하고

+0

이것은 링크 문제입니다. 프로젝트 CMakeLists 파일을 게시하면 도움이 될 것입니까? – Vtik

답변

0

, 이것은 나를 위해 작동 : 내가 cmake와 소스에서 qhull를 컴파일하고있어

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") 

.

아마도 도움이 될 것입니다.