2016-07-06 7 views
1

WindowsのQtプロジェクトでdlibを使用しようとしています。ダウンロードした後、私はDLIBルートにこれをした:dlib。プログラムが予期せず終了しました

cd examples 
mkdir build 
cd build 
cmake .. -G"Visual Studio 14 2015 Win64" 
cmake --build . --config Release 

そして、この(再びDLIBルート):

mkdir build 
cd build 
cmake .. -G"Visual Studio 14 2015 Win64" -DCMAKE_INSTALL_PREFIX=D:\dlib_build 
cmake --build . --config Release --target install 

マイ.PROファイル:

QT += core 
QT -= gui 

CONFIG += c++11 

TARGET = dlibWin2 
CONFIG += console 
CONFIG -= app_bundle 

TEMPLATE = app 

SOURCES += main.cpp 

INCLUDEPATH += "D:\dlib_build\include" 
LIBS += -L"D:\dlib_build\lib" -ldlib 
QMAKE_CXXFLAGS_RELEASE += /arch:AVX 
QMAKE_CXXFLAGS += -DDLIB_JPEG_SUPPORT 

main.cppに:

#include <QCoreApplication> 
#include <dlib/image_processing/frontal_face_detector.h> 
#include <dlib/image_processing/render_face_detections.h> 
#include <dlib/image_processing.h> 
#include <dlib/gui_widgets.h> 
#include <dlib/image_io.h> 
#include <iostream> 


using namespace dlib; 
using namespace std; 
int main(int argc, char *argv[]) 
{ 
    QCoreApplication a(argc, argv); 


    try 
    { 
     frontal_face_detector detector = get_frontal_face_detector(); 
    } 
    catch (exception& e) 
    { 
     cout << "\nexception thrown!" << endl; 
     cout << e.what() << endl; 
    } 
    return a.exec(); 
} 

MSVC2のコンパイル出力015 64ビットリリース:MSVC2015 64ビットリリースの

D:\dlib_build\include\dlib\config.h:19: Warning: C4005: DLIB_JPEG_SUPPORT 

ランタイム出力:

プログラムが予期せず終了しました...コード-1073741795

で終了しましたが、私は後にこれをしなかったことに注意してくださいWindowsを再インストールする前に、私はまったく同じ問題を抱えていました。

これを解決するにはどうすればよいですか、WindowsでQtでdlibを使用するにはどうすればよいですか?

+0

main()を完全に投稿してください。またmainから何かを返しましたか? – Mikhail

+0

@Mikhailは応答に感謝しています。今ではmain.cppをfull main()で公開しました。 –

+0

main()からqt部品コードを削除できますか?再現性のある例は最低限必要です。また、どのCPUを使用していますか? – Mikhail

答えて

2

例外出力が表示されないので、問題は/arch:AVX部分にあるはずです。ご使用のプロセッサがAVX命令をサポートしていない可能性があります。例とDLIBを再構築する

QT += core 
QT -= gui 

CONFIG += c++11 

TARGET = dlibWin2 
CONFIG += console 
CONFIG -= app_bundle 

TEMPLATE = app 

SOURCES += main.cpp 

INCLUDEPATH += "D:\dlib_build\include" 
LIBS += -L"D:\dlib_build\lib" -ldlib 

不要:x64のモードではSSE2は、この.PROファイルを試してみてください、自動的に

を有効になります。 C4005の警告があるため、-DDLIB_JPEG_SUPPORTが削除されました。

あなたは成功の一歩です!

+0

ありがとう、私はそれを確認します –

+0

うわー!最後に動作します!しかし、これは少し奇妙な、私はこのオプションを試したと思った... とにかく、もう一度感謝:) –

関連する問題