opencv : nicht aufgelöstes externes symbol
Ich weiß, diese Frage ist alle über die Ort, aber immer noch den magic stick hinzufügen der library-Verzeichnisse, um die Projekt-Eigenschaften ist nicht für mich arbeiten.
Folgte ich dem tutorial für Visual Studio (2013, die ich hier habe) und die environment variable, setup für opencv 3.0 beta.
Und es ist derselbe code, der auf der Testen! Abschnitt. Hier ist der header der build-Ausgabe in vs:
1>------ Build started: Project: OpenCVTest, Configuration: Debug Win32 ------
1>opencv_core300d.lib(matrix.obj) : error LNK2019: unresolved external symbol _ippicvsFlip_16u_I@8 referenced in function "enum IppStatus (__stdcall*__cdecl cv::getFlipFunc(int))(void *,int)" (?getFlipFunc@cv@@YAP6G?AW4IppStatus@@PAXH@ZH@Z)
1>opencv_core300d.lib(matrix.obj) : error LNK2019: unresolved external symbol _ippicvsFlip_32f_I@8 referenced in function "enum IppStatus (__stdcall*__cdecl cv::getFlipFunc(int))(void *,int)" (?getFlipFunc@cv@@YAP6G?AW4IppStatus@@PAXH@ZH@Z)
1>opencv_core300d.lib(matrix.obj) : error LNK2019: unresolved external symbol _ippicvsFlip_64f_I@8 referenced in function "enum IppStatus (__stdcall*__cdecl cv::getFlipFunc(int))(void *,int)" (?getFlipFunc@cv@@YAP6G?AW4IppStatus@@PAXH@ZH@Z)
1>opencv_core300d.lib(matrix.obj) : error LNK2019: unresolved external symbol _ippicvsFlip_8u_I@8 referenced in function "enum IppStatus (__stdcall*__cdecl cv::getFlipFunc(int))(void *,int)" (?getFlipFunc@cv@@YAP6G?AW4IppStatus@@PAXH@ZH@Z)
1>opencv_core300d.lib(matrix.obj) : error LNK2019: unresolved external symbol _ippicvsSortAscend_8u_I@8 referenced in function "enum IppStatus (__stdcall*__cdecl cv::getSortFunc(int,bool))(void *,int)" (?getSortFunc@cv@@YAP6G?AW4IppStatus@@PAXH@ZH_N@Z)
1>opencv_core300d.lib(matrix.obj) : error LNK2019: unresolved external symbol _ippicvsSortDescend_8u_I@8 referenced in function "enum IppStatus (__stdcall*__cdecl cv::getSortFunc(int,bool))(void *,int)" (?getSortFunc@cv@@YAP6G?AW4IppStatus@@PAXH@ZH_N@Z)
Den rest der log ist die gleiche. Ich habe die opencv\build\x86\vs12 Verzeichnis Inhalt für die lib und bin Verzeichnisse. Ich bin blind mit den /MDd
option in C/C++->Code-Generation->Runtime Library option. Was ist falsch?
- Diese Symbole kommen aus dem neuen 3rd-party-Bibliothek ippicv enthält eine Teilmenge von nützlichen Intel IPP-Funktionen. Versuchen Sie, suchen Sie ippicvmt.lib und stellen Sie sicher, hinzufügen, dass die link-Liste und den Weg der Zusatz-Bibliothek-Verzeichnisse. Ich bin mir nicht sicher über
/MD
vs/MT
. Möglicherweise haben Sie zu wechseln. Tatsächlich, ich bin überrascht, dass die ippicv Bibliothek ist nicht statisch verbunden, die in opencv bereits. - Danke @chappjc . Ich habe Ihre Anleitung und die anderen bekommen es funktioniert. Ich werde bei der Antwort unten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügte ich $(OPENCV_DIR)\staticlib zu Bibliothek Verzeichnisse und auch Linker->Zusätzliche Bibliothek-Verzeichnisse und ergänzt die folgenden Linker->Eingang->Zusätzliche Abhängigkeiten:
Und das Beispiel funktioniert jetzt.
ippicvmt.lib
aus dem Beispiel-setup...Leider, dass die Lösung nicht für mich arbeiten. Für diejenigen, die in einer ähnlichen situation:
Arbeiten können durch hinzufügen von zusätzliche Abhängigkeiten(Linker -> Eingang -> Zusätzliche Abhängigkeiten: nur die Bibliotheken, die sich in meine $(OPENCV_DIR)\lib-Ordner. Nämlich: opencv_ts300d.lib;opencv_world300d.lib.