我有一个工作的 cmake 项目,我需要转移到 qmake。
一切正常,但包含一个名为 octomap 的库。
我在系统中安装了( sudo make install )八进制图
/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);
...
foo.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 项目中使用它,它工作正常。