3

opencvとqtを実行しています。opencvのインクルードを正常に追加しましたが、cvLoadImageを実行しているときに、リンカーエラーが発生します。

これは私のコードです:

void MainWindow:on_pushButton_clicked()
{

img = cvLoadImage("C:\\Users\\MLS-PROGRAMER\\Documents\\Visual Studio 2010\\Projects\\Image_processing\\Image_processing \\thres.png");
// cvNamedWindow("Image",CV_WINDOW_AUTOSIZE);
// cvShowImage("Image", img);
// cvWaitKey(40);

}

これはエラーメッセージです:

mainwindow.obj:-1: error: LNK2019: unresolved external symbol _cvLoadImage referenced in function "private: void __thiscall MainWindow:n_pushButton_clicked(void)" (?on_pushButton_clicked@MainWindow@@AAEXXZ)

debug\FIDAS.exe:-1: error: LNK1120: 1 unresolved externals

私のプロジェクトファイルはこんな感じです

#-------------------------------------------------
#
# Project created by QtCreator 2012-05-29T10:31:40
#
#-------------------------------------------------

QT += core gui

TARGET = FIDAS
TEMPLATE = app


SOURCES += main.cpp\
mainwindow.cpp

HEADERS += mainwindow.h

FORMS += mainwindow.ui


INCLUDEPATH += C:\OpenCV2.3\opencv\build\include\opencv2\core \
C:\OpenCV2.3\opencv\build\include\opencv \
C:\OpenCV2.3\opencv\build\include\opencv2\imgproc \
C:\OpenCV2.3\opencv\build\gpu\x64\lib \

CONFIG(release,debug|release)
{
LIBS += C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_calib3d231.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_contrib231.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_core231.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_features2d231.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_flann231.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_gpu231.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_haartraining_engine.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_highgui231.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_imgproc231.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_legacy231.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_ml231.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_objdetect231.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_ts231.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_video231.lib \
}

CONFIG(debug,debug|release)
{
LIBS += C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_calib3d231d.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_contrib231d.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_core231d.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_features2d231d.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_flann231d.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_gpu231d.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_haartraining_engined.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_highgui231d.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_imgproc231d.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_legacy231d.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_ml231d.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_objdetect231d.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_ts231d.lib \
C:\OpenCV2.3\opencv\build\gpu\x64\lib\opencv_video231d.lib \
}

この問題の助けは素晴らしいでしょう。

4

3 に答える 3

2

実際にリンクパス(ライブラリの場所)を指定してから、リンクするライブラリのリストを指定する必要があります。

LIBS += -L C:\OpenCV2.3\opencv\build\gpu\x64\lib -lopencv_contrib231 -lopencv_core231 -lopencv_features2d231 ...
于 2012-07-03T15:18:15.437 に答える
2

私は自分のプロジェクトに次のような構成を使用します。

LIBS += D:/OpenCV-2.3.0/build/lib/libopencv_core230.dll.a

C API を使用する代わりに C++ API を使用しimreadますcvLoadImage

于 2012-07-01T05:41:43.970 に答える
1

ステップ 8では、すべてのアーキテクチャについて説明しています。

基本的に、ライブラリ パスを -L で指定してから、ライブラリ ファイルを追加する必要があります。

-l<libname_without_extension>

UNIX の場合 (デフォルトの場所にインストール):

unix: LIBS += -lopencv_core
unix: LIBS += -lopencv_highgui

Windowsの場合(あなたの問題):

win32: LIBS += -L C:\OpenCV2.3\opencv\build\gpu\x64\lib\ -lopencv_core231
于 2012-07-05T13:30:09.153 に答える