Nicht aufgelöstes Externes Symbol Fehler Umschaltung von build-library-exe-oder dll
Baue ich eine Anwendung als Bibliothek, aber sicher kann ich die Ausgabe, die ich möchte, ich wechselte es über die zum erstellen einer exe-Datei. Sobald ich dies getan hatte, bekam ich mehrere Fehler über nicht aufgelöste externe Symbole.
Zuerst dachte ich, dass ich nicht noch ein Pfad gesetzt werden, um die 3rd-party-Bibliothek, die ich war, Referenzierung, also ich habe den Ordner auf meine path-variable, und sogar Hinzugefügt, es meinen gehören, Referenzen und Quellen, nur um sicherzugehen, ich hatte alle Pfade.
Ich bekomme immer noch die Fehlermeldung:
error LNK2019: nicht aufgelöstes externes
symbol "__declspec(dllimport) public:
static void
__cdecl xercesc_2_8::XMLPlatformUtils::Initialize(char
const * const,char const *
const,Klasse xercesc_2_8::PanicHandler
* const-Klasse xercesc_2_8::MemoryManager *
const bool)"
(__imp_?Initialize@XMLPlatformUtils@xercesc_2_8@@SAXQBD0QAVPanicHandler@2@QAVMemoryManager@2@_N@Z)
verwiesen in Funktion "" void __cdecl
xsd::cxx::xml::initialize(void)"
(?initialize@xml@cxx@xsd@@YAXXZ)
Dem Grund, dass ich Frage es hier, weil es in Visual Studio, wenn ich es gebaut hat, wie eine Bibliothek, bekomme ich nicht diese Fehler, sondern als dll und exe, ich weiß.
Jemand irgendwelche Gedanken?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Aufbau einer Bibliothek, der linker muss nicht beheben importierten Symbole. Das passiert nur, wenn es beginnt Verknüpfung von Objekt-Dateien und Bibliotheken zusammen.
Das ist, warum Sie nur begonnen, sehen den Fehler beim erstellen einer ausführbaren Datei.
In der Tat, in VC2008 (und 2005, wenn ich mich gut erinnern), verwenden Sie den Projekt-Eigenschaften -> Linker -> Eingang -> Zusätzliche Abhängigkeiten. Die Bibliotheken, die Sie brauchen werden, getrennt durch Leerzeichen (ungerade, hey?)
Glück!
Müssen Sie auch angeben, die Sie verlinken, gegen, die Bibliothek im besonderen. Die link-Pfade nur sagen, den linker, wo die Daten, die Sie brauchen, zu finden ist, nicht, was Sie suchen. Sie müssen auch angeben, die Sie verlinken, gegen die Bibliothek in Frage (xerces?).
Leider, ich weiß nicht, wie, geben Sie dies in MSVC, aber es ist wahrscheinlich irgendwo unter 'Linker-Optionen'.
Als @coppro, sagte, müssen Sie angeben, dass Sie möchten, um die Verknüpfung mit der Bibliothek. Beim erstellen einer EXE-oder DLL ist ein linker, und es finden muss, um alle Funktionen, die Sie verwenden, aber eine Bibliothek zu errichten, die Bibliothekarin, und Sie nicht haben, alle zu lösen-Funktion verweisen (aber wenn man diese lib in einer EXE-Datei haben, müssen Sie wieder).
So gehen Sie auf die Projekt-Optionen Linker-Optionen, Eingabe und Liste die Bibliothek aus, definiert die Funktion vermisst (xerces.lib?) unter Zusätzliche Bibliothek-Pfade. Müssen Sie möglicherweise Ihre Position unter Zusätzliche Bibliothek-Pfade.