Warum link error lnk2001 ?
-
Hallo, ich hab im Internet eine skinning lib gefunden und wenn ich die Funktion "InitSkinMagicLib" laden will kommt immer ein linker Fehler 2001 - nicht aufgelöstes externes Symbol... Ich hab die SkinMagiclib.h inkludiert und die SkinMagic.lib gelinkt. Woran kann es liegen? Die Dateien sind auch alle im richtigen Ordner...?
-
Ist das denn ein Funktion aus der Skinning-Lib oder aber wird noch eine weitere Lib benötigt?
-
Die Skinmagic.lib und die skinmagic.dll werden benötigt. Und eine .smf skin Datei.
-
Anscheinend reicht das aber wohl nicht aus...
Zeige mal die komplette Fehlermeldung.
-
error LNK2001: Nicht aufgelöstes externes Symbol ""int stdcall InitSkinMagicLib(struct HINSTANCE *,wchar_t const *,wchar_t const *,wchar_t const *)" (?InitSkinMagicLib@@YGHPAUHINSTANCE__@@PB_W11@Z)".
1>C:\Users\wndu3\Desktop\test\Release\test.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
-
Wie ist die Funktion denn in der Headerdatei deklariert?
Kann es sein, daß die Lib kein UNICODE (bzw. Widestrings) unterstützt (wegenwchar_t const *
in der Fehlermeldung)? Und du dortchar const *
als Parameter übergeben mußt (bzw. entferne mal "UNICODE" aus den Projekt-Makros).
-
In der header steht LPCTSTR.
-
@Mike85Dev sagte in Warum link error lnk2001 ?:
In der header steht LPCTSTR.
Die Frage ist ob die Lib mit Unicode übersetzt wurde oder nicht.
Denn mit aktiven UNICODE support zerfällt das Makro LPCTSTR to einem const wchar_t*.
Wenn UNICODE nicht aktiv ist dann zu const char*.Es kann auch gut sein, dass die lib in zwei versionen gibt. Einmal mit UNICODE support und einmal ohne
-
In einer Beschreibung steht das sie UNICODE ist.