C++ 无法在QT Creator上编译穿山甲

C++ 无法在QT Creator上编译穿山甲,c++,opengl,qt5,qt-creator,C++,Opengl,Qt5,Qt Creator,我是新手,正在尝试在Qt Creator上编译穿山甲的“hello world”代码。我在编译时遇到了这个未定义的引用问题。我的代码很简单: #include <iostream> #include <pangolin/pangolin.h> using namespace std; int main() { pangolin::CreateWindowAndBind("Main",640,480); return 0; } 由于示例程序在我的系统上顺利运行,

我是新手,正在尝试在Qt Creator上编译穿山甲的“hello world”代码。我在编译时遇到了这个未定义的引用问题。我的代码很简单:

#include <iostream>
#include <pangolin/pangolin.h>
using namespace std;
int main()
{
  pangolin::CreateWindowAndBind("Main",640,480);
  return 0;
 }
由于示例程序在我的系统上顺利运行,我已成功编译并构建了pangolin库。我对示例的可执行文件运行了ldd,找到了依赖库,并尝试在QT Creator中链接它们。我也是OpenGL新手。我遇到的错误是:

错误:未定义对“pangolin::CreateWindowAndBindstd::\uuuuCXX11::basic\uString,std::allocator>,int,int,pangolin::Params const&”的引用

我建造穿山甲如下:

git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
make -j8
编辑2:根据Botje的建议,在库路径后插入/有助于编译。但是现在我有一个运行时错误:

/home/mavbot/Documents/qtcodes/build hellopangolin Desktop Debug/hellopangolin:加载共享库时出错:libpangolin.so:无法打开共享对象文件:没有此类文件或目录

编辑3: -rwxr-x 1 mavbot mavbot 2333648 Mar 10 23:55/home/mavbot/Pangolin/build/src/libpangolin.so

由于/home/mavbot/Pangolin/build/src不是查找库的默认位置,因此您必须通知动态链接器ld.so来查找库

您可以通过以下方式完成此操作:

每次运行程序时设置环境变量LD_LIBRARY_PATH=/home/mavbot/Pangolin/build/src,或者 使用运行路径编译程序。这将指示ld.so首先查看那里。旗帜如下: 或者只是全局安装pangolin,默认情况下链接器会在其中查找默认路径,检查/etc/ld.so.conf和/或/etc/ld.so.conf.d/*的内容。
你是如何建造和安装穿山甲的?看起来不错。可以显示用于链接的完整命令行吗?我这样问是因为在LIBS+=-L/home/mavbot/Pangolin/build/src行中没有\,因此,我不确定下一行的-lpangolin是否被带上。@rotating\u image尝试添加LIBS+=-L/home/mavbot/Pangolin/build/src-lpangolinI通过将这一行export-LD\u LIBRARY\u PATH=/home/mavbot/Pangolin/build/src添加到bashrc文件的底部,完成了第一个任务……但仍然不走运……我确实回显了$LD\u LIBRARY\u PATH和正确的值libpangoli.so的路径通过ls-l/home/mavbot/Pangolin/build/src/libpangolin*和ldd/home/mavbot/Pangolin/build/src/libpangolin.so的输出显示在您的问题中
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
make -j8
linux-vdso.so.1 =>  (0x00007ffedc5b8000)
libGL.so.1 => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 (0x00007f05e3401000)
libGLEW.so.1.13 => /usr/lib/x86_64-linux-gnu/libGLEW.so.1.13 (0x00007f05e317e000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f05e2e44000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f05e2c3c000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f05e2a1f000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f05e269d000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f05e2394000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f05e217e000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f05e1db4000)
/lib64/ld-linux-x86-64.so.2 (0x00007f05e3a5a000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f05e1b9a000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f05e1971000)
libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007f05e176e000)
libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0 (0x00007f05e156b000)
libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007f05e1364000)
libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1 (0x00007f05e1161000)
libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007f05e0f30000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f05e0d1e000)
libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f05e0b1b000)
libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f05e0915000)
libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f05e0713000)
libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007f05e04fa000)
libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007f05e02f5000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f05e00d3000)
libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007f05dfecd000)
libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f05dfcbb000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f05dfab7000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f05df8b3000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f05df6ad000)
-Wl,-rpath=/home/mavbot/Pangolin/build/src