我正在尝试使用 opencv 查看 openni 颜色和深度帧,并且我已经能够编译代码:
g++ `pkg-config opencv --cflags` -I /home/myaccount/Downloads/OpenNI/Include/ testing.cpp -o newtest -L /home/myaccount/Downloads/OpenNI/Redist/ -lOpenNI2 `pkg-config opencv --libs`
但是当我运行./newtest 时,出现以下错误:
./newtest: error while loading shared libraries: libOpenNI2.so: cannot open shared object file: No such file or directory
我不知道发生了什么,如果有任何帮助/建议,我将不胜感激。
谢谢
最佳答案
我有一个类似的问题,这解决了它,如下所述。您没有说是哪个发行版,但如果在 Ubuntu 上,您需要将共享库的“Redist”位置添加到链接器配置文件中。所以创建一个新文件:
$ sudo gedit /etc/ld.so.conf.d/openni2.conf
/<your-custom-shared-lib-location>/Redist/
请注意,您只需要在文件中添加路径,而不是 PATH 变量。然后运行
sudo ldconfig
makefile 中的 -L 是指在编译时链接您的共享库。对于运行时链接,您需要以上内容。据我了解,仅当您的库不在默认位置/usr/local/lib 时才需要这样做。这将告诉链接器在运行时为您的共享库包含这些路径。
关于c++ - 编译成功后找不到openni2库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24294844/