Einrichten GLFW mit MinGW

Ich versuche zu lernen mit OpenGL GLFW, aber ich habe einige Probleme.

Dies ist mein main.cpp:

#include <GL/glfw.h>

int main()
{
    glfwInit();
    glfwSleep( 1.0 );
    glfwTerminate();
}

Dies ist mein Projekt-Ordner-Struktur:

Project
+- glfw.dll
+- main.cpp

Dies ist, wo ich extrahiert die GLFW-Dateien:

MinGW
+- include
|   +- GL
|      +- glfw.h
+- lib
   +- libglfw.a
   +- libglfwdll.a

Und dies ist, wie ich versuche, das Programm:

g++ main.cpp -o main.exe -lglfwdll

Und dies sind die Fehler, die ich immer bin:

C:\Users\Dark\AppData\Local\Temp\cc0ZgTVp.o:main.cpp:(.text+0xf): undefined reference to `_glfwInit'
C:\Users\Dark\AppData\Local\Temp\cc0ZgTVp.o:main.cpp:(.text+0x25): undefined reference to `_glfwSleep'
C:\Users\Dark\AppData\Local\Temp\cc0ZgTVp.o:main.cpp:(.text+0x2a): undefined reference to `_glfwTerminate'
collect2.exe: error: ld returned 1 exit status

Bin ich etwas fehlt?

  • verwenden Sie den großen L-option, um den Pfad anzugeben wo die Bibliotheken sind, wie dies g++ ... -L /path/to/lib denken Sie auch daran, dass MinGW verwendet einen anderen Satz von ABIs von Visual Studio, so werden Sie sicher, dass alle Bibliotheken, die Sie für MinGW kompiliert werden, für MinGW.
  • Ich habe versucht, eine Menge von Ordnern für -L einschließlich D:\Dropbox\C++\Untitled wo glfw.dll liegt, aber ohne Erfolg, und die FSME .zip-Datei, die ich heruntergeladen hatte eine separate lib-mingw Ordner, also ich nehme an, das sind die richtigen Bibliotheken.
  • codeblocks verwendet MinGW unter Windows, so dass ich vermute, dass Sie beheben können Ihre Probleme nur beim Lesen dieses stackoverflow.com/questions/7856648/glfw-and-codeblocks
  • Ich habe alles getan, was aus der Antwort von Ihnen positiv bewertet werden, außer Schritt 6: "Jetzt während der Erstellung der GLFW Projekt in code::blocks geben den Pfad C:\Program Files\CodeBlocks\MinGW" für glfw Lage", denn das ist ein Code::Blocks bestimmten Schritt.
  • g++ -print-search-dirs dieser Befehl druckt alle Pfade betrachtet, die von g++, wenn die lib-it ist nicht hier, müssen Sie es mit der -L option. Es können auch andere Probleme, aber ich bin derzeit nicht in der Programmierung unter Windows, und ich bin nicht berühren Windows seit Tagen, Wochen und Monaten, aber Sie können wirklich unangenehme Verhaltensweisen, wie Benutzer mit Einschränkungen der UAC oder anderen ABI-standards. Wenn Sie möchten, um dieses Problem zu lösen verwenden Sie einfach Codeblocks und Sie verwenden die gleichen MinGW, die Sie jetzt verwenden und, mindestens, haben Sie die Unterstützung für Sie. Die meisten dieser Probleme sind einfach, verursacht durch das Windows-Betriebssystem und nicht von MinGW selbst.
  • Ich habe versucht, hundert Lösungen, die heute und gab auf. Ich werde versuchen SFML jetzt.

InformationsquelleAutor Darkwater | 2012-10-14
Schreibe einen Kommentar