簡體   English   中英

uCntu 11.10上的OpenCV

[英]OpenCV on ubuntu 11.10

我剛剛將我的系統從ubuntu 11.04更新到11.10,現在我再也無法編譯任何包含對OpenCV庫的引用的C程序

我已經嘗試重新安裝OpenCV(我使用2.1版本 ),但我遇到了這個錯誤:

/tmp/ccArHTZL.o: In function `main':
z.c:(.text+0x59): undefined reference to `cvLoadImage'
z.c:(.text+0xa0): undefined reference to `cvNamedWindow'
z.c:(.text+0xb1): undefined reference to `cvShowImage'
z.c:(.text+0xbb): undefined reference to `cvWaitKey'
z.c:(.text+0xc5): undefined reference to `cvDestroyWindow'
z.c:(.text+0xd1): undefined reference to `cvReleaseImage'
collect2: ld returned 1 exit status

為了安裝OpenCV,我總是遵循這個過程:

$ sudo apt-get install libcv2.1 libcv-dev libcvaux2.1 libcvaux-dev libhighgui2.1
     libhighgui-dev opencv-doc python-opencv

$ export LD_LIBRARY_PATH=/home/opencv/lib
$ export PKG_CONFIG_PATH=/home/opencv/lib/pkgconfig

$ pkg-config --cflags opencv
     -I/usr/include/opencv

$ pkg-config --libs opencv
     -lcxcore -lcv -lhighgui -lcvaux -lml

$ g++ -I/usr/include/opencv -lcxcore -lhighgui -lm hello.c

有人可以幫幫我嗎?

為什么不使用pkg-config對你有利?

g++ hello.c -o hello `pkg-config --cflags --libs opencv` 

我認為這是因為從gcc 4.5到gcc 4.6的一些變化

請嘗試使用此命令(即,將庫移動到最后,而不是在命令行的開頭) - 它適用於我:

g ++ -I / usr / include / opencv hello.c -lcxcore -lhighgui -lm

我仍然在使用kubuntu 10.10所以我並不熟悉11.10是如何工作的,但是找不到庫的問題最常見的答案是使用ldconfigsudo 它將刷新庫數據庫。 如果這沒有幫助,請查看/ usr / lib/ usr / lib64/ usr / lib32 ,因為它是apt-get拋出庫的默認位置。當您找到庫時,更改LD_LIBRARY_PATH以使其包含目錄。 我不認為/ home / opencv / lib是它們的位置,但我不知道你的環境

我剛剛在筆記本電腦上升級到11.04並遇到類似問題。 我會嘗試構建最新版本的OpenCV(2.3.1)並查看是否可以解決這個問題,這似乎為我解決了一些問題。

使用以下命令,它對我有用:

gcc pkg-config --cflags opencv opencv.c -o open_cv pkg-config --libs opencv

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM