How to get rid von LNK2019 nicht aufgelöstes externes symbol Fehler mit opencv und vs2012
Ich bin ein visual basic-Programmierer versuchen, ein visual c++ und läuft mit einigen source-code habe ich gefunden, dass OpenCV verwendet. Ich bin nicht sehr erfahren mit c++. Ich bin immer nicht aufgelöstes externes symbol Fehler und ich habe Stunden damit verbracht, Lesen jeder Artikel, den ich finden kann, hier, es, und jede Antwort ist...
"don' T link x86 mit x64-libs, oder Umgekehrt" oder
"fügen Sie x Verweise auf Einstellungen->linker", oder
"fügen Sie Ihre lib/dll-Dateien in den Ordner des Projekts, und fügen Sie dann zu Ihrer Lösung" oder
"offensichtlich hast du nicht die libs, um Ihr linker".
Hab ich schon gemacht, alle den folgenden, und es hat nicht funktioniert...
1) ich habe "c:\opencv\build\x64\vc11\staticlib;%(AdditionalLibraryDirectories)" meine "Additional Library Directories" im Project->Einstellungen->Linker->allgemein. Nicht ein wenig helfen.
2) ich habe versucht, die oben mit dem x86 Verzeichnis statt, nicht ein wenig helfen. Also die Theorien, dass es eine x64 - /x86-problem scheint nicht die Antwort sein.
3) ich habe "opencv_calib3d244d.lib;opencv_contrib244d.lib;opencv_core244d.lib;opencv_features2d244d.lib;opencv_flann244d.lib;opencv_gpu244d.lib;opencv_haartraining_engined.lib;opencv_highgui244d.lib;opencv_imgproc244d.lib;opencv_legacy244d.lib;opencv_ml244d.lib;opencv_nonfree244d.lib;opencv_objdetect244d.lib;opencv_photo244d.lib;opencv_stitching244d.lib;opencv_ts244d.lib;opencv_video244d.lib;opencv_videostab244d.lib;%(AdditionalDependencies)" zu meinem Projekt->Einstellungen->Linker->Eingang, für Debug(aktiv). Hat auch nicht geholfen.
4) ich habe versucht, die oben mit dem "lib" - Verzeichnis anstelle des "staticlib" - Verzeichnis. Nicht ein wenig helfen.
5) ich habe versucht, kopieren die debug-version der *.lib-Dateien aus dem Verzeichnis lib in mein Projekt-Ordner und Projekt->Hinzufügen->Vorhandenes Element hinzufügen zu meinem Projekt. Hat auch nicht geholfen.
6) ich habe "c:\opencv\build\include;%(AdditionalIncludeDirectories)" zu meinen Projekt->Einstellungen->C/C++->allgemein->Zusätzliche Include-Verzeichnisse. Hat auch nicht geholfen.
Erscheint es nicht alle diese Dinge. Kennt jemand eine Lösung zu diesem Fehler, der sich nicht um alle diese Dinge habe ich schon versucht?
Hier sind einige der Fehler, die ich immer bin:
Fehler 16 error LNK2019: nicht aufgelöstes externes symbol _cvCreateImage verwiesen in Funktion " "struct _IplImage * __cdecl loadFloatImage(char const *)" (?loadFloatImage@@YAPAU_IplImage@@PBD@Z) C:\dev\CPP_console\CPP_console\FeaturesMain.obj CPP_console
Fehler 17 error LNK2001: nicht aufgelöstes externes symbol _cvCreateImage C:\dev\CPP_console\CPP_console\TextDetection.obj CPP_console
Fehler 18 error LNK2019: nicht aufgelöstes externes symbol _cvReleaseImage verwiesen in Funktion " "struct _IplImage * __cdecl loadFloatImage(char const *)" (?loadFloatImage@@YAPAU_IplImage@@PBD@Z) C:\dev\CPP_console\CPP_console\FeaturesMain.obj CPP_console
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich die Lösung. VS2012 ist glitched. Ich dachte mein Projekt wurde eingestellt, um x64, denn wenn ich auf Build geklickt -> Konfiguration-Manager -> die Plattform, gab es keine andere Möglichkeit für die Plattform, die außer "Win32" und "Bearbeiten". Wenn ich klickte auf "Bearbeiten", hieß es, dass die Plattform x64, aber das hatte es kopiert die Einstellungen aus "Win32". Dies scheint ein Fehler in VS2012. Tatsache ist, ich war NICHT Bearbeiten der aktuellen Plattform sein, obwohl ich auf die Schaltfläche "Bearbeiten" - button. Es war vielmehr die Schaffung einer NEUEN Plattform. Aber da hatte ich klickte auf die Schaltfläche Bearbeiten, ich dachte, es war mir zu sagen, dass meine Plattform x64, weil das, was Sie ausgewählt hatte. Aber Nein, es war die Schaffung einer neuen Plattform... und es sollte wirklich nicht sagen, dass das Projekt x64, aber das kopieren von Einstellungen von Win32! Ohnehin, so dass mehrere Störungen zu sein scheinen, gibt es in VS2012. Also fix mein problem, ich hatte auf den "Bearbeiten" - link, und es sagen zum kopieren der Einstellungen von "" statt von Win32 (leere ist die einzige andere Möglichkeit). Dies erstellt eine neue Plattform option namens x64, und änderte es um zu zeigen, dass meine Plattform war jetzt x64. Auch, dies zu tun magisch aus-Knopf "neuer" erscheint neben der Schaltfläche "Bearbeiten" in der Plattform-drop-down-Menü und die Schaltfläche "Bearbeiten" nicht mehr wirkt wie eine neue Taste (die es nicht mehr gibt die option "Einstellungen kopieren von __". Aber der button "neu" können Sie zum erstellen einer x64-Plattform, noch kopieren Einstellungen von Win32, das ist dumm. Aber zumindest jetzt, wenn ich auf Bearbeiten, ist es tatsächlich wirkt ein bisschen mehr wie eine Schaltfläche Bearbeiten. VS2012 ist verbuggt in diesem Menü-Bereich. Wie auch immer, mein link Fehler ging Weg als ich ihn bekommen habe komplett geändert x64, da ich eine x64-version von OpenCV. Wenn jemand eine x64-version von OpenCV: stellen Sie sicher, dass Ihre "Plattform", sagt x64, nicht auf Win32, oder es wird geben Sie Ihre LNK-Fehler.