学习了下,记录一下:
1、
ubuntu安装完opencv后(一般都装在了/usr/local这个目录下)检查下 /usr/local/lib/pkgconfig目录下是否有/opencv.pc
一般情况下都会有的
然后
sudo gedit /usr/local/lib/pkgconfig/opencv.pc
在文件中加入:
includedir_old2=${prefix}/include/opencv2
最后一行修改为:
Cflags: -I${includedir_old} -I${includedir_old2} -I${includedir_new}
保存 退出
编译一下:
g++ Untitled1.cpp -o 1 `pkg-config opencv --cflags --libs opencv`
(我的用gcc出错了)
成功
2、`pkg-config opencv --cflags --libs opencv`比较繁琐,每次都要输入,考虑用CVCONF代替之
新开终端
sudo gedit .bashrc
在最后一行添加
export CVCONF="-I/usr/local/include/opencv -I/usr/local/include/opencv2 -I/usr/local/include -L/usr/local/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"
这个是我的,不同pc不知道一样不一样
也可以这样:
export CVCONF="`pkg-config opencv --cflags --libs opencv`"
保存后退出
su一下进入root
执行:source .bashrc
测试一下:echo $CVCONF
输出
-I/usr/local/include/opencv -I/usr/local/include/opencv2 -I/usr/local/include -L/usr/local/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
新开终端编译一下:
g++ test.cpp -o test $CVCONF
成功