gpt4 book ai didi

c++ - 编译后未链接共享对象库

转载 作者:行者123 更新时间:2023-11-28 01:38:02 26 4
gpt4 key购买 nike

我的程序使用 libuvc 库,因此使用 libuvc.so.0。

但是编译成功后,我无法运行程序,因为:

root@Raspi_DataHarvest:~/Schreibtisch# g++ UVCCameraHandler.cpp `pkg-config --libs --cflags opencv` `pkg-config --libs --cflags libuvc` -o UVCCameraHandler.o

./UVCCameraHandler.o: error while loading shared libraries: libuvc.so.0: cannot open shared object file: No such file or directory

原因是:

root@Raspi_DataHarvest:~/Schreibtisch# ldd UVCCameraHandler.o
linux-vdso.so.1 (0x7edff000)
/usr/lib/arm-linux-gnueabihf/libarmmem.so (0x76f1a000)
libopencv_dnn.so.3.4 => /usr/local/lib/libopencv_dnn.so.3.4 (0x76bc7000)
libopencv_ml.so.3.4 => /usr/local/lib/libopencv_ml.so.3.4 (0x76b20000)
****** libuvc.so.0 => not found *******
...

文件位于:/usr/local/lib/arm-linux-gnueabihf/libuvc.so.0.0.6

但是我不知道怎么链接.so文件...

最佳答案

您需要告诉运行时加载程序在哪里可以找到您的库,因为这不是正常路径。

使用此命令运行:

LD_LIBRARY_PATH="/usr/local/lib/arm-linux-gnueabihf:$LD_LIBRARY_PATH"./a.out

或者你可以将这个LD_LIBRARY_PATH导出为环境变量,然后直接运行./a.out

关于c++ - 编译后未链接共享对象库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48448637/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com