[英]openCV error : undefined reference to `cvLoadImage' Ubuntu
我已經安裝了 openCV 庫,但仍然出現錯誤
$ g++ -I /usr/include/opencv/ -L -lcxcore -lhighgui hello.cpp -o 你好
/tmp/ccjjrbXr.o: In function main': hello.cpp:(.text+0x2d): undefined reference to
'
collect2: ld 返回 1 退出狀態
當我檢查我得到的庫的路徑時
$ pkg-config --libs opencv
-lml -lcvaux -lhighgui -lcv -lcxcore
我寫了一個非常簡單的程序來測試它:
enter code here
#include< cv.h>
#include< highgui.h> /* required to use OpenCV's highgui */
#include< stdio.h>
int main() {
IplImage* img = 0;
printf("Hello\n");
img = cvLoadImage("lena.jpg", 0 );
}
我的安裝有問題,但我真的無法弄清楚。 任何指導將不勝感激! 謝謝
當我跑步時:
$ pkg-config --cflags --libs opencv
-I/usr/local/include/opencv -I/usr/local/include
/usr/local/lib/libopencv_calib3d.so /usr/local/lib/libopencv_contrib.so
/usr/local/lib/libopencv_core.so /usr/local/lib/libopencv_features2d.so
/usr/local/lib/libopencv_flann.so /usr/local/lib/libopencv_gpu.so
/usr/local/lib/libopencv_highgui.so /usr/local/lib/libopencv_imgproc.so
/usr/local/lib/libopencv_legacy.so /usr/local/lib/libopencv_ml.so
/usr/local/lib/libopencv_nonfree.so /usr/local/lib/libopencv_objdetect.so
/usr/local/lib/libopencv_photo.so /usr/local/lib/libopencv_stitching.so
/usr/local/lib/libopencv_ts.so /usr/local/lib/libopencv_video.so
/usr/local/lib/libopencv_videostab.so
但是當我運行時:
$ g++ 'pkg-config --cflags --libs opencv' display_image.cpp
g++: error: pkg-config --cflags --libs opencv: No such file or directory
OpenCV 似乎已安裝,但問題仍然存在。
您使用單引號'
而不是 反引號/反引號`
。 這是更正后的命令:
g++ hello.cpp -o hello `pkg-config --cflags --libs opencv`
如果您正在使用它,鏈接到 highgui lib -lhighgui
是個好主意
這個命令:
g++ 'pkg-config --cflags --libs opencv' display_image.cpp
與此不同:
g++ `pkg-config --cflags --libs opencv` display_image.cpp
因為`和'字符...
如果你不想弄亂那些字符,你可以使用
g++ $(pkg-config --cflags --libs opencv) display_image.cpp
哪個更容易形象化
嘗試 g++ -g -o mypro progname.cpp pkg-config opencv --cflags --libs
或
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.