簡體   English   中英

如何在x64機器上使用QT編譯Opencv 3.1?

[英]How to compile Opencv 3.1 with QT on a x64 machine?

我正在使用Opencv 3.1,Cmake 3.6.0,Cuda 7.5,Visual Studio 2013。
我已經在x64機器上成功編譯了自己的Opencv庫,現在可以使用CUDA模塊了。
我嘗試使用qt 5.6.1進行編譯,但無法。
當我在cmake-gui上選中WITH> QT復選框時,我沒有任何問題。 但是,當我構建ALL BUILD項目時,會引發以下問題:

window_QT.obj:錯誤LNK2001:無法解析的外部符號“ public:靜態結構QMetaObject const ...

我已經使用過qt安裝程序並從源代碼編譯了qt。
我已經將lib和bin目錄放在VSproject上,但是我無法解決鏈接問題。
謝謝..

對於OpenCV 3.1,這是對我有用的配置:

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp
TARGET = main

INCLUDEPATH += C:/opencv-3.1.0/opencv/build/include
LIBS += -LC:/opencv-3.1.0/opencv/build/x64/vc14/lib
LIBS += -LC:/opencv-3.1.0/opencv/build/x64/vc14/bin

CONFIG(debug,debug|release)
{
    LIBS += -lopencv_world310d
}

CONFIG(release,debug|release)
{
    LIBS += -lopencv_world310
}

要將Qt支持添加到OpenCV 3.1,請按照以下說明進行操作: https : //gist.github.com/BartG95/1ce8ba1e9c25ec3698d1

並在構建過程中將/APPCONTAINER:NO添加到以下屬性,否則將無法工作:

CMAKE_EXE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS

這是我的.pro文件:

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += main.cpp
TARGET = main

INCLUDEPATH += D:/Fouad/dev/Libs/opencv-3.1.0/opencv/build-with-qt-support/install/include
INCLUDEPATH += D:/Fouad/dev/Libs/opencv-3.1.0/opencv/dep/tbb2017_20161004oss/include
LIBS += -LD:/Fouad/dev/Libs/opencv-3.1.0/opencv/build-with-qt-support/install/x64/vc14/bin
LIBS += -LD:/Fouad/dev/Libs/opencv-3.1.0/opencv/build-with-qt-support/install/x64/vc14/lib
LIBS += -LD:/Fouad/dev/Libs/opencv-3.1.0/opencv/build-with-qt-support/install/x64/vc14/staticlib
LIBS += -LD:/Fouad/dev/Libs/opencv-3.1.0/opencv/dep/tbb2017_20161004oss/bin/intel64/vc14_ui
LIBS += -LD:/Fouad/dev/Libs/opencv-3.1.0/opencv/dep/tbb2017_20161004oss/lib/intel64/vc14_ui
LIBS += -lippicvmt

CONFIG(debug, debug|release)
{
    LIBS += -lopencv_calib3d310d
    LIBS += -lopencv_core310d
    LIBS += -lopencv_features2d310d
    LIBS += -lopencv_flann310d
    LIBS += -lopencv_highgui310d
    LIBS += -lopencv_imgcodecs310d
    LIBS += -lopencv_imgproc310d
    LIBS += -lopencv_ml310d
    LIBS += -lopencv_objdetect310d
    LIBS += -lopencv_photo310d
    LIBS += -lopencv_shape310d
    LIBS += -lopencv_stitching310d
    LIBS += -lopencv_superres310d
    LIBS += -lopencv_video310d
    LIBS += -lopencv_videoio310d
    LIBS += -lopencv_videostab310d
    LIBS += -ltbb_debug
    LIBS += -ltbb_preview_debug
    LIBS += -ltbbmalloc_debug
    LIBS += -ltbbmalloc_proxy_debug
    LIBS += -ltbbproxy_debug
}

CONFIG(release, debug|release)
{
    LIBS += -lopencv_calib3d310
    LIBS += -lopencv_core310
    LIBS += -lopencv_features2d310
    LIBS += -lopencv_flann310
    LIBS += -lopencv_highgui310
    LIBS += -lopencv_imgcodecs310
    LIBS += -lopencv_imgproc310
    LIBS += -lopencv_ml310
    LIBS += -lopencv_objdetect310
    LIBS += -lopencv_photo310
    LIBS += -lopencv_shape310
    LIBS += -lopencv_stitching310
    LIBS += -lopencv_superres310
    LIBS += -lopencv_video310
    LIBS += -lopencv_videoio310
    LIBS += -lopencv_videostab310
    LIBS += -ltbb
    LIBS += -ltbb_preview
    LIBS += -ltbbmalloc
    LIBS += -ltbbmalloc_proxy
    LIBS += -ltbbproxy
}

暫無
暫無

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

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