Ich versuche, mein Projekt gegen die libpng Version 1.6.23 DLL-Bibliothek verknüpfen, aber mein Linker sieht nur alle Funktionsaufrufe, die ich es als nicht aufgelöste externe Symbole machen. Ich verwende Visual Studio Express 2013. Hier ist ein Ausschnitt der Linker-Ausgabe.libpng Funktionsaufrufe sind alle ungelösten externen Symbole
1>PNGUtils.obj : error LNK2019: unresolved external symbol png_set_sig_bytes referenced in function "public: static void * __cdecl PNGUtils::Read(char const *,unsigned int &,unsigned int &,int &)" ([email protected]@@[email protected])
1>PNGUtils.obj : error LNK2019: unresolved external symbol png_sig_cmp referenced in function "private: static bool __cdecl PNGUtils::Validate(struct _iobuf *)" ([email protected]@@[email protected]@@Z)
1>PNGUtils.obj : error LNK2019: unresolved external symbol png_create_read_struct referenced in function "public: static void * __cdecl PNGUtils::Read(char const *,unsigned int &,unsigned int &,int &)" ([email protected]@@[email protected])
1>PNGUtils.obj : error LNK2019: unresolved external symbol png_set_longjmp_fn referenced in function "public: static void * __cdecl PNGUtils::Read(char const *,unsigned int &,unsigned int &,int &)" ([email protected]@@[email protected])
1>PNGUtils.obj : error LNK2019: unresolved external symbol png_create_info_struct referenced in function "public: static void * __cdecl PNGUtils::Read(char const *,unsigned int &,unsigned int &,int &)" ([email protected]@@[email protected])
1>PNGUtils.obj : error LNK2019: unresolved external symbol png_read_info referenced in function "public: static void * __cdecl PNGUtils::Read(char const *,unsigned int &,unsigned int &,int &)" ([email protected]@@[email protected])
1>PNGUtils.obj : error LNK2019: unresolved external symbol png_set_expand_gray_1_2_4_to_8 referenced in function "public: static void * __cdecl PNGUtils::Read(char const *,unsigned int &,unsigned int &,int &)" ([email protected]@@[email protected])
Ich Verknüpfung erfolgreich mit anderen Bibliotheken wie lua und glew, und ich bin meines Wissens tun nichts anderes, wenn sie versuchen zu libpng zu verknüpfen.
Seltsamerweise, wenn ich den Linker in den ausführlichen Modus versetzt. Darin heißt es ...
1> Finished searching libraries
1>
1> Unused libraries:
1> libs\png\libpng16.lib
Die Linker zu Anspruch scheint, dass ich nicht die Bibliothek libpng bin mit, obwohl ich deutlich seine Funktionen wie in meinem Code-Segment hier in PNGUtils.cpp Read-Methode nenne.
Ich fühle mich verloren auf, warum der Linker die Funktionsaufrufe zu libpng zu ignorieren scheint. Ich würde mich freuen, irgendwelche Gedanken oder Antworten zu hören und bin natürlich mehr als bereit, weitere Informationen auf Anfrage zur Verfügung zu stellen.
Ich denke, der 'Unbenutzte Bibliotheken' Teil bedeutet, dass der Linker diese Bibliothek beim Erstellen der Objektdateien/ausführbare Datei ignoriert. Sie müssen herausfinden warum. –