Fehler LNK2019: nicht aufgelöstes externes Symbol

8

Während ich meinen OpenGL-Code kompilieren möchte, erhalte ich folgende Fehler:

%Vor%

Mein Code ist:

%Vor%

ich probierte alles aus Twinking Linker-Option einschließlich .lib-Dateien explizit, Angabe Include-Pfade lesen Foren im Zusammenhang mit diesen Fehlern und so weiter, keiner von ihnen geholfen, können Sie mir helfen, wie ich dieses Problem beheben?

    
BulBul 12.11.2012, 06:54
quelle

4 Antworten

6

Ich habe die neuen Binärdateien von Ссылка bekommen ( Ссылка ) und Freeglut 2.8.0 MSVC-Paket von Ссылка ( Ссылка )

Ich habe den Include-Pfad auf glew-1.9.0\include\ , freeglut\include\ und den Bibliothekspfad auf freeglut\lib\ , glew-1.9.0\lib\ gesetzt.

Ich habe den Header Ihrer Datei als

korrigiert %Vor%

Verknüpfung erfolgreich, und es hat funktioniert.

UPD

Wenn Sie Bibliotheken von Drittanbietern verwenden, normalerweise:

  • Sie müssen den Include-Pfad auf <3rdPartyDir>\include , aber nicht auf <3rdPartyDir>\include\lib_name festlegen. Deklarieren Sie seine Aufnahme in den Quellcode sollte sein:

richtig: #include <lib_name/header_name.h>

falsch: #include <header_name.h> , weil innerhalb der Bibliothek interne Abhängigkeiten sein können, zum Beispiel #include <lib_name/other_header_name.h>

  • Setzen Sie den Bibliothekspfad auf <3rdPartyDir>\lib . Anschließend müssen Sie die erforderlichen Bibliotheken mit einer der folgenden Methoden angeben:

Fügen Sie für MSVC

hinzu %Vor%

Oder fügen Sie den Linkeroptionen die erforderlichen Bibliotheken hinzu.

Einige Bibliotheken unterstützen den automatischen Verknüpfungsmechanismus (z. B. freeglut), dh die Headerdatei enthält eine Zeile wie #pragma comment(lib, "lib1_name.lib")

  • Kopieren Sie die erforderlichen DLLs von <3rdPartyDir>\bin nach <MyExePath>\
pogorskiy 12.11.2012, 07:24
quelle
2

Ich hatte das gleiche Problem. Endlich gefunden nützliche Hinweise hier . Das Problem war korrekt die DLL-Dateien für die richtige Konfiguration (Win32 oder x64).

    
alaferg 09.12.2015 20:21
quelle
1

Dies ist definitiv ein Problem mit Linker-Einstellungen, speziell mit der glew -Bibliothek. Warum Ihre früheren Versuche, es zu beheben, nicht funktioniert haben, ist mir nicht klar.

Können Sie Tutorial-Programme bekommen, die glew zum kompilieren anbietet?

Bearbeiten

Aus Ihrem Kommentar sieht es so aus, als hätten Sie Probleme, einschließlich Ihrer lib-Datei.
- Können Sie überprüfen, ob es sich dort befindet, wo Sie es finden (ist es korrekt installiert)?
- Kennt Visual Studio, wo es sein soll (ist der richtige Pfad zur lib)?

Hat Project ->Right click + properties -> Configuration Properties -> Linker -> General -> Additional Linker directories in Visual Studio den Pfad zu dem Ordner, der glew32.lib enthält?

    
Karthik T 12.11.2012 07:12
quelle
1

Es scheint so, als ob du nicht richtig glew.lib benutzt hast. Wenn Sie config win32 verwenden, müssen Sie glew.lib (win32) oder umgekehrt verwenden. Sie können versuchen, ersetzen Sie glew.lib in Ihrem Projekt.

    
linh linh 12.07.2015 12:08
quelle