小觅相机SDK samples安装Link error: cannot find -lvtkproj4

Link error: cannot find -lvtkproj4
error: ld returned 1 exit status
找不到相关动态库文件
设置软链接:ln -s /usr/lib/x86_64-linux-gnu/libvtkCommonCore-6.2.so /usr/lib/libvtkproj4.so
重新编译:make samples


下面列出一些参考命令操作


动态链接库 ld
vim /etc/ld.so.conf.d/vtkproj.conf
写入/usr/lib/x86_64-linux-gnu/

动态链接库管理命令:sudo ldconfig
查看文件:ll /usr/lib/lib
查找相关文件:locate libvtkproj4
查找当前路径下相关内容:grep -rsn “keyword”


make clean
如果之前编译过,make clean 可以將之前产生的可执行档及其他档案刪除。
有时发现重新编译出來的档案沒有更新, 可以先执行 make clean。


设置变量 export LD_LIBRARY_PATH
sudo gedit ~/.bashrc 末尾添加
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
source ~/.bashrc


LD_LIBRARY_PATH 这个环境变量是大家最为熟悉的,它告诉loader:在哪些目录中可以找到共享库。
可以设置多个搜索目录,这些目录之间用冒号分隔开。
在linux下,还提供了另外一种方式来完成同样的功能,你可以把这些目录加到/etc/ld.so.conf中,然后调用ldconfig。
当然,这是系统范围内全局有效的,而环境变量只对当前shell有效。
按照惯例,除非你用上述方式指明,loader是不会在当前目录下去找共享库的,正如shell不会在当前目录找执行文件一样。

猜你喜欢

转载自blog.csdn.net/MoonShapedPool/article/details/84978691