2013-09-11 2 views
0

У меня есть рабочий проект cmake, который мне нужно переместить в qmake.Включить системную библиотеку с qmake на osx

Все работает, но включает в себя библиотеку под названием octomap.

Я установил (Sudo сделать установку) octomap в системе

/usr/local/lib/liboctomap.a 
/usr/local/lib/liboctomap.dylib 

и заголовки в

/usr/local/lib/include/octomap/ 

Допустим, проект составе:

foo.h

... 
#include <octomap/OcTree.h> 
octomap::OcTree tree(0.1); 
... 

fo o.cpp

... 
#include <octomap/OcTree.h> 
using namespace octree; 
tree.doSomething(); 
... 

foo.pro

... 
unix|win32: LIBS += -loctomap 
INCLUDEPATH += /usr/local/include/ 
... 

Компиляция приводит к ошибке: Символ (ы) не найдено для архитектуры x86_64 благодаря

Undefined symbols for architecture x86_64: 
    "octomap::OcTreeNode::createChild(unsigned int)", referenced from: 
    octomap::OccupancyOcTreeBase<octomap::OcTreeNode>::updateNodeRe...[a very long stack] 

, которые должны означает, что Библиотека octomap не связана, и я попытался также добавить ее в проект, используя pkgconfig и используя абсолютный путь. Все они приводят к одной и той же ошибке, а если я использую ее в проекте cmake, она работает нормально.

+1

Вам нужно установить путь к библиотеке, где можно также искать библиотеку. –

+0

Да, я забыл сказать, что я также пробовал с LIBS + = -L/usr/local/lib -loctomap и он не работал:/ – jalone

ответ

0

Это было недостающее библиотека, я также должен был включать в себя octomath Lib

unix|win32: LIBS += -L/usr/local/lib/ -loctomap 
unix|win32: LIBS += -L/usr/local/lib/ -loctomath 

надежду может быть кому-то полезным.

+0

Это не совсем стандартный вопрос. Вы пропустили упоминание чего-то? – lpapp

+0

Вот и все, что я знал:/Я знаю, что это странно, иначе я бы решил, не спрашивая:/я могу удалить вопрос, но я не знаю, если худший. Недопустимая библиотека была обязательной для библиотеки, которую я добавил, я могу просто сказать это, я не заметил, что отсутствующий символ не был в интерфейсе octomap, но в octomath (что мне не нужно напрямую). – jalone

+0

Странно, но не беспокойтесь. :) – lpapp

Смежные вопросы