8

Sono nuovo di zecca per OpenCV e ho provato a configurarlo in Visual Studios 2010 Ultimate. Ho seguito esattamente la documentazione e ho collegato i file come detto. Ecco le librerie aggiuntive che sto usando:OpenCV non verrà compilato a causa di elementi esterni non risolti - LNK2019

opencv_core231d.lib 
opencv_imgproc231d.lib 
opencv_highgui231d.lib 
opencv_ml231d.lib 
opencv_video231d.lib 
opencv_features2d231d.lib 
opencv_calib3d231d.lib 
opencv_objdetect231d.lib 
opencv_contrib231d.lib 
opencv_legacy231d.lib 
opencv_flann231d.lib 

E tutte le loro controparti Release. Tuttavia, quando provo a eseguire il debug di & compilando il codice di esempio fornito a me, ottengo i seguenti errori. (Ho letto da qualche parte che si deve compilare e pubblicare il progetto in modo per farlo funzionare correttamente? E 'vero pure?)

1>------ Build started: Project: openCVTest, Configuration: Debug Win32 ------ 
1>Build started 5/6/2012 10:39:03 AM. 
1>InitializeBuildStatus: 
1> Touching "Debug\openCVTest.unsuccessfulbuild". 
1>ClCompile: 
1> All outputs are up-to-date. 
1>ManifestResourceCompile: 
1> All outputs are up-to-date. 
1>openCVTest.obj : error LNK2019: unresolved external symbol _cvWaitKey referenced in function _main 
1>openCVTest.obj : error LNK2019: unresolved external symbol "void __cdecl cv::imshow(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class cv::_InputArray const &)" ([email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z) referenced in function _main 
1>openCVTest.obj : error LNK2019: unresolved external symbol "public: __thiscall cv::_InputArray::_InputArray(class cv::Mat const &)" ([email protected]@@[email protected]@[email protected]@Z) referenced in function _main 
1>openCVTest.obj : error LNK2019: unresolved external symbol _cvMoveWindow referenced in function _main 
1>openCVTest.obj : error LNK2019: unresolved external symbol "void __cdecl cv::namedWindow(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)" ([email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]) referenced in function _main 
1>openCVTest.obj : error LNK2019: unresolved external symbol "public: virtual double __thiscall cv::VideoCapture::get(int)" ([email protected]@[email protected]@[email protected]) referenced in function _main 
1>openCVTest.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall cv::VideoCapture::~VideoCapture(void)" ([email protected]@@[email protected]) referenced in function _main 
1>openCVTest.obj : error LNK2019: unresolved external symbol "public: virtual bool __thiscall cv::VideoCapture::isOpened(void)const " ([email protected]@[email protected]@UBE_NXZ) referenced in function _main 
1>openCVTest.obj : error LNK2019: unresolved external symbol "public: __thiscall cv::VideoCapture::VideoCapture(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" ([email protected]@@[email protected][email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z) referenced in function _main 
1>openCVTest.obj : error LNK2019: unresolved external symbol "void __cdecl cv::fastFree(void *)" ([email protected]@@[email protected]) referenced in function "public: __thiscall cv::Mat::~Mat(void)" ([email protected]@@[email protected]) 
1>openCVTest.obj : error LNK2019: unresolved external symbol "public: void __thiscall cv::Mat::deallocate(void)" ([email protected]@[email protected]@QAEXXZ) referenced in function "public: void __thiscall cv::Mat::release(void)" ([email protected]@[email protected]@QAEXXZ) 
1>openCVTest.obj : error LNK2019: unresolved external symbol "class cv::Scalar_<double> __cdecl cv::sum(class cv::_InputArray const &)" ([email protected]@@[email protected]@[email protected][email protected]@@Z) referenced in function "double __cdecl getPSNR(class cv::Mat const &,class cv::Mat const &)" ([email protected]@[email protected]@@[email protected]) 
1>openCVTest.obj : error LNK2019: unresolved external symbol "public: class cv::MatExpr __thiscall cv::Mat::mul(class cv::_InputArray const &,double)const " ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]) referenced in function "double __cdecl getPSNR(class cv::Mat const &,class cv::Mat const &)" ([email protected]@[email protected]@@[email protected]) 
1>openCVTest.obj : error LNK2019: unresolved external symbol "public: void __thiscall cv::Mat::convertTo(class cv::_OutputArray const &,int,double,double)const " ([email protected]@[email protected]@[email protected]@[email protected]) referenced in function "double __cdecl getPSNR(class cv::Mat const &,class cv::Mat const &)" ([email protected]@[email protected]@@[email protected]) 
1>openCVTest.obj : error LNK2019: unresolved external symbol "void __cdecl cv::absdiff(class cv::_InputArray const &,class cv::_InputArray const &,class cv::_OutputArray const &)" ([email protected]@@[email protected]@[email protected]@@Z) referenced in function "double __cdecl getPSNR(class cv::Mat const &,class cv::Mat const &)" ([email protected]@[email protected]@@[email protected]) 
1>openCVTest.obj : error LNK2019: unresolved external symbol "public: __thiscall cv::_OutputArray::_OutputArray(class cv::Mat &)" ([email protected]@@[email protected]@[email protected]@Z) referenced in function "double __cdecl getPSNR(class cv::Mat const &,class cv::Mat const &)" ([email protected]@[email protected]@@[email protected]) 
1>openCVTest.obj : error LNK2019: unresolved external symbol "class cv::Scalar_<double> __cdecl cv::mean(class cv::_InputArray const &,class cv::_InputArray const &)" ([email protected]@@[email protected]@[email protected][email protected]@[email protected]) referenced in function "class cv::Scalar_<double> __cdecl getMSSIM(class cv::Mat const &,class cv::Mat const &)" ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]) 
1>openCVTest.obj : error LNK2019: unresolved external symbol "class cv::_OutputArray const & __cdecl cv::noArray(void)" ([email protected]@@[email protected]@XZ) referenced in function "class cv::Scalar_<double> __cdecl getMSSIM(class cv::Mat const &,class cv::Mat const &)" ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]) 
1>openCVTest.obj : error LNK2019: unresolved external symbol "void __cdecl cv::divide(class cv::_InputArray const &,class cv::_InputArray const &,class cv::_OutputArray const &,double,int)" ([email protected]@@[email protected]@[email protected]@[email protected]) referenced in function "class cv::Scalar_<double> __cdecl getMSSIM(class cv::Mat const &,class cv::Mat const &)" ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]) 
1>openCVTest.obj : error LNK2019: unresolved external symbol "class cv::MatExpr __cdecl cv::operator+(class cv::Mat const &,class cv::Mat const &)" ([email protected]@[email protected]@[email protected]@[email protected]) referenced in function "class cv::Scalar_<double> __cdecl getMSSIM(class cv::Mat const &,class cv::Mat const &)" ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]) 
1>openCVTest.obj : error LNK2019: unresolved external symbol "class cv::MatExpr __cdecl cv::operator+(class cv::MatExpr const &,class cv::Scalar_<double> const &)" ([email protected]@[email protected]@[email protected][email protected]@[email protected]@Z) referenced in function "class cv::Scalar_<double> __cdecl getMSSIM(class cv::Mat const &,class cv::Mat const &)" ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]) 
1>openCVTest.obj : error LNK2019: unresolved external symbol "class cv::MatExpr __cdecl cv::operator*(double,class cv::Mat const &)" ([email protected]@[email protected]@[email protected]@@Z) referenced in function "class cv::Scalar_<double> __cdecl getMSSIM(class cv::Mat const &,class cv::Mat const &)" ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]) 
1>openCVTest.obj : error LNK2019: unresolved external symbol "void __cdecl cv::GaussianBlur(class cv::_InputArray const &,class cv::_OutputArray const &,class cv::Size_<int>,double,double,int)" ([email protected]@@[email protected]@[email protected]@[email protected]@[email protected]@Z) referenced in function "class cv::Scalar_<double> __cdecl getMSSIM(class cv::Mat const &,class cv::Mat const &)" ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]) 
1>openCVTest.obj : error LNK2019: unresolved external symbol "public: void __thiscall cv::Mat::copySize(class cv::Mat const &)" ([email protected]@[email protected]@[email protected]@Z) referenced in function "public: __thiscall cv::Mat::Mat(class cv::Mat const &)" ([email protected]@@[email protected]@@Z) 
1>openCVTest.obj : error LNK2019: unresolved external symbol "void __cdecl cv::subtract(class cv::_InputArray const &,class cv::_InputArray const &,class cv::_OutputArray const &,class cv::_InputArray const &,int)" ([email protected]@@[email protected]@[email protected]@[email protected]) referenced in function "class cv::Mat & __cdecl cv::operator-=(class cv::Mat const &,class cv::Mat const &)" ([email protected]@[email protected]@[email protected]@Z) 
1>C:\Users\Logan\documents\visual studio 2010\Projects\openCVTest\Debug\openCVTest.exe : fatal error LNK1120: 25 unresolved externals 
1> 
1>Build FAILED. 
1> 
1>Time Elapsed 00:00:00.40 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 

ho passato tutti i miei indici e fatto in modo che le librerie, fatto in Infatti, esiste nei miei file OpenCV e il mio download non è corrotto o altro. Qualsiasi aiuto sarebbe apprezzato!

-Logantf17

+0

Ho bisogno di sapere quanto bene sai cosa stai facendo. Sai come collegarti alle biblioteche? Alla prima occhiata, sembra che sia esattamente mancasse. – guinny

+0

1. hai compilato OpenCV da solo? 2. sono i file lib sotto (Proprietà -> Linker -> Input -> Dipendenze aggiuntive) nel tuo progetto visivo c? – guinny

+0

Bene, sto imparando mentre sto andando. Non ho avuto bisogno di collegare alle librerie prima (questa è la prima volta che ho trovato necessario). Ho cercato come collegare le librerie in VS in precedenza, per assicurarmi che stavo facendo bene. Ma non so se altro è necessario .. Come i file di intestazione o altre librerie. – loganfarr

risposta

7

Mi sono imbattuto nello stesso problema e ho scoperto che stavo puntando a una piattaforma a 32 bit. La risposta è stata quella di cambiare il mio progetto in target x64. Le istruzioni si trovano a: http://msdn.microsoft.com/en-us/library/vstudio/ms185328.aspx.

Ho anche trovato che il riferimento sopra elencato da chaiy era molto utile. Eccolo di nuovo: http://docs.opencv.org/trunk/doc/tutorials/introduction/windows_visual_studio_Opencv/windows_visual_studio_Opencv.html#windows-visual-studio-how-to

+0

Hai salvato la mia giornata !!!!!! ! – user2924714

Problemi correlati