c++ - 编译成功后找不到openni2库

标签 c++ linux opencv openni

我正在尝试使用 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/

相关文章:

c++ - 模板静态成员初始化顺序

c - Eclipse + OpenCV + Cygwin --> cv.h : No such file or directory

c++ - Opencv 中的 PCA 项目和反向项目

c++ - SetWindowLongPtr 与 DialogBoxParam?

C++:是否有理由为类型设置alignof > sizeof

c++ - 我应该使用哪种对象识别算法?

linux - "deleted"在 syslog 中的段错误中意味着什么?

python - 连接到运行 Python 脚本的 Raspberry Pi 的磁性门传感器报告误报

linux - 为什么在x86_64 ABI中选择地址0x400000作为文本段的开头?

c++ - 为什么同时链接libpng和opencv没有冲突?