-2

ubuntuで数年経った後、最近fedora 18をインストールしました。

適切な更新の後、Opencv や PCL などのお気に入りのライブラリをダウンロードして再コンパイルします。

すべてが問題ないかどうかを確認するために、次のコードをコンパイルしようとしました。

cv::Mat im = cv::imread("023.JPG");

cv::resize(im.clone(),im,cv::Size(600,800));

cv::imshow("default",im);

cv::waitkey(0);

コンパイルステップは成功したように見えますが、このコードを実行しようとすると、次のようになりました:

/home/jonny/Desktop/prog/MMSE_SD2/test_opencv-build-desktop-Qt_4_8_4_in_PATH_ System _Release/test_opencv: シンボル検索エラー: /home/jonny/Desktop/prog/MMSE_SD2/test_opencv-build-desktop-Qt_4_8_4_in_PATH_ System _Release/test_opencv:未定義シンボル: _ZN2cv12_OutputArrayD1Ev

IDE として qtcreator を使用しています。

私の .pro ファイルは次のようになります。

INCLUDEPATH +=/usr/local/include/opencv-2.4.9

LIBS += -lopencv_core \
 -lopencv_highgui \
 -lopencv_imgproc \
 -lopencv_calib3d \
 -lopencv_contrib \
 -lopencv_features2d \
 -lopencv_flann \
 -lopencv_legacy \
 -lopencv_ml \
 -lopencv_objdetect \
 -lopencv_video 

SOURCES += \
    main.cpp

opencv ライブラリを 3 回再コンパイルしましたが、成功しませんでした。

誰かが助けてくれれば、本当に感謝しています。

前もって感謝します

ジョニー

4

1 に答える 1

1

私の仮定では、システムに古いバージョンのOpenCVがインストールされていて、プログラムが間違ったライブラリにランタイムリンクされていると想定しています。

を呼び出すことでこれを簡単に確認できます。これによりldd <binary>、バイナリがリンクされるライブラリが一覧表示されます。/ usr / local / lib /にインストールしたものでない場合は、LD_LIBRARY_PATHを設定して問題を修正できます。

于 2013-02-09T15:40:49.343 に答える