默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件,通常通过源码包进行安装时,如果不指定--prefix,会将库安装在/usr/local/lib目录下;当运行程序需要链接动态库时,提示找不到相关的.so库,会报错。也就是说,/usr/local/lib目录不在系统默认的库搜索目录中,需要将目录加进去。
1 加入动态库文件所在的目录 执行vi /etc/ld.so.conf,在"include ld.so.conf.d/*.conf"下方增加"/usr/local/lib"
2 保存后,在命令行终端执行 /sbin/ldconfig -v
添加如下位置可以使用第三方库。运行时搜索目录就是三方库所在目录,其他选项就是使用的库。
# Package Information for pkg-config prefix=/usr/local exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir_old=${prefix}/include/opencv includedir_new=${prefix}/include Name: OpenCV Description: Open Source Computer Vision Library Version: 2.4.13.6 Libs: -L${exec_prefix}/lib -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab -lrt -lpthread -lm -ldl Cflags: -I${includedir_old} -I${includedir_new}
以上是opencv.pc内容。
1 NetBeans远程连接linux环境使用opencv开发,若安装过程中未指定地址,则安装在 /usr/local 中。
2 将 /usr/local/lib/pkgconfig 的opencv.pc复制到 /usr/lib64/pkgconfig 中,则在NetBeans开发过程中可以添加opencv