Construire glew sur Windows avec Mingw32

C’est un doublon et j’en suis désolé, mais je n’ai pas d’autre option car je ne peux pas commenter les réponses et elles n’ont pas résolu mon problème. Voici le post original:

Construire glew sur windows avec mingw

Et voici mon problème:

1) Lorsque j’essaie de répondre à @ LightningIsMyName, j’obtiens cette erreur:

Makefile: 1: *** seperator manquant. Arrêtez.

2) Lorsque j’essaie de répondre à @ anon, j’obtiens cette erreur:

Makefile: 1: Makefile: 1: *** Les commandes commencent avant la première cible. Arrêtez.

Les gens disent que cela et leur aide les a aidés mais ils n’ont pas travaillé pour moi. Je suis désolée de dupliquer une question mais je n’ai aucune autre chance avec la limite de réputation pour commenter. J’espère que vous aidez. Merci.

J’ai trop cherché sur Internet pour trouver une solution à mes problèmes. J’ai pris beaucoup de temps alors je l’affiche ici pour aider les autres.

Pour que GLEW fonctionne avec MinGW, vous devez télécharger la source du site Web de GLEW et mettre

gcc.exe de MinGW \ bin
ar.exe de MinGW32 \ mingw32 \ bin

dans le dossier source GLEWs et créez et exécutez un fichier .bat dans ce dossier de la manière suivante:

gcc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.o -c src/glew.c gcc -shared -Wl,-soname,libglew32.dll -Wl,--out-implib,lib/libglew32.dll.a -o lib/glew32.dll src/glew.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32 ar cr lib/libglew32.a src/glew.o gcc -DGLEW_NO_GLU -DGLEW_MX -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.mx.o -c src/glew.c gcc -shared -Wl,-soname,libglew32mx.dll -Wl,--out-implib,lib/libglew32mx.dll.a -o lib/glew32mx.dll src/glew.mx.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32 ar cr lib/libglew32mx.a src/glew.mx.o 

vous obtiendrez vos fichiers .dll et .a dans le dossier lib. Placez les fichiers .dll dans le dossier system32 et les fichiers .a dans le dossier MinGW lib.

Tout en liant les bibliothèques de liens SFML, liez ensuite GLEW et enfin OpenGL. Si vous modifiez l’ordre de liaison, vous obtiendrez une erreur de l’éditeur de liens.

N’oubliez pas d’appeler glewInit () après avoir créé votre fenêtre.

Essayez ces commandes:
1: gcc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.o -c src/glew.c
2: gcc -shared -Wl,-soname,libglew32.dll -Wl,--out-implib,lib/libglew32.dll.a -o lib/glew32.dll src/glew.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
3: ar cr lib/libglew32.a src/glew.o

Si vous pouvez le faire fonctionner de cette manière, essayez le mien (pour les compilateurs Borland):

  1. télécharger le code source GLEW (pas les binarys)

    • glew.c code source de glew.c est ~ 900Ko (je pense que GLEW 1.6)
    • glew.h tête de la tête glew.h est ~ 900 Ko (je pense que GLEW 1.6)
  2. J’utilise le chemin du projet local pour stocker GLEW

    Je sais qu’il est redondant, mais je n’ai pas besoin d’apporter de modifications après des modifications du système telles que la réinstallation du système d’exploitation ou la nouvelle version du compilateur, etc., mais pour que tout fonctionne glew.c vous devez effectuer certaines modifications dans glew.c :

    • remplacez #include par #include "glew.h"

    si vous voulez utiliser le chemin global puis ajoutez-le à votre compilateur, copiez-y les fichiers et laissez le <> tel quel.

  3. copier ces 2 fichiers sur votre projet

    Voici comment l’inclure correctement dans le projet, ajoutez-le simplement à votre fichier source principal (où se trouve votre fonction winmain ou principale):

     #include  // optional windows #include  // optional #define GLEW_STATIC // this configure header and source of GLEW to comstack correctly #include "glew.c" // header is included inside so no need to duplicate include // here are the OpenGL includes like: gl.h,glext.h,.... 
  4. Maintenant ça devrait marcher

    N’oubliez pas d’appeler glewInit(); après l’initialisation d’OpenGL et avant toute extension utilisée …