Das Verfahren Einstiegspunkt konnte nicht in der dynamic link-Bibliothek Core.dll
Ich bin der Konvertierung meinem Projekt zu verwenden DLLs und bin versucht zu brechen auseinander meine Singleton
Klasse zu vermeiden, mit Vorlagen.
Meiner Klasse LudoMemory
ursprünglich geerbt von Singleton
. Ich bin versucht, es zu geben, die Funktionen zu zerstören, und erstellen Sie sich nun und habe meine Hauptmaschine Sie sich nicht auf die Singleton
.
Ich geschrieben habe, eine einfache Methode destroy wie:
LudoMemory *memory_Singleton = NULL;
void LudoMemory::Destroy()
{
LUDO_SAFE_DELETE(m_Singleton)
}
und bei der Ausführung des Programms (kein compiler-Fehler) ich erhalte diese Fehlermeldung:
Prozedur Eintrag Punkt
?Zerstören@LudoMemory@@SAXXZ konnte nicht
befindet sich in der dynamic link-Bibliothek
LudoCore.dll
LudoCore
ist das Projekt, das LudoMemory
gehört. Warum ist das passiert? Wie kann ich es lösen?
InformationsquelleAutor | 2009-10-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
nicht mehrere Versionen von ludocore.dll auf Ihrem system haben, tun Sie?
Prozedur Eintrag Punkte Fehler bedeuten in der Regel: Sie kompiliert das Projekt mit ludocore.lib version x, und wenn das Programm läuft, es verwendet ludocore.dll version y und version y nicht definiert LudoMemory::Destroy().
InformationsquelleAutor stijn
Jacob ' s Antwort über mehrere DLL-Versionen scheint wahrscheinlich.
Auch, mit einigen build-Systemen müssen Sie explizit auflisten, welche Funktionen exportiert werden, die in einer DLL-Datei.
Forschung Ihre build-Umgebung, und sehen Sie, wenn Sie müssen eine Liste der Methoden, die exportiert werden als entry-point.
InformationsquelleAutor abelenky
In Visual Studio build-Umgebung, auch Sie könnten versuchen, indem Sie die Verweise in Linker-Optimierung Einstellungen [ Keine(/OPT:NOREF)]
InformationsquelleAutor SridharKritha