Probleme mit DLL-Komplierung von wxWidgets



  • Ich habe wxWidgets als DLL im Unicode erstellt.

    Mein Problem ist wenn an irgendeiner Stelle (egal ob in einer eigenen DLL, oder in den als DLL kompilierten wxWidgets-Klassen) ein wxString benutzt oder erstellt wird erhalte ich folgende Fehlermeldung

    xxxClass.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""wchar_t const * const wxEmptyString" (?wxEmptyString@@3PB_WB)".
    1>xxxClass.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""wchar_t const * const wxEmptyString" (?wxEmptyString@@3PB_WB)".
    1>xxxClass.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static unsigned int const wxStringBase::npos" (?npos@wxStringBase@@2IB)".
    1>U:\SDKs\nmpSDK2\\dll\nmpSDK2_d.dll : fatal error LNK1120: 2 nicht aufgelöste externe Verweise.
    

    Liberys habe ich alle die wxWidgets mitliefert eingebunden. Auch die jeweils richtigen unter Debug und Release. Die DLL´s liegen auch im richtigen Verzeichnis und werden gefunden.

    Des weitern ist wxWidgets und das Project mit der selben Common Language Runtime-Eigenschaft kompiliert.

    Erstellt werden soll ein "Dynamische Bibliothek (.dll)"
    Als Laufzeitbibliothek ist "Multithreaded-Debug-DLL (/MDd)" bei Debug angegeben...

    Hoffe mal die ersten Angaben hier reichen aus damit jemand eine Idee hat. Bin für jeden Tip dankbar.

    Mfg
    Ollow



  • So habe das Problem gefunden, die Lösung ist jetzt ganz simple wenn man es weiß:

    Es lag nur daran das ich den Präprozessorflag 'WXUSINGDLL' nicht gesetzt hatte.

    Dies mit eingefügt und alle arbeitet so wie gewünscht...


Anmelden zum Antworten