Étape 1: Installation de GLFW 3 sur votre système avec CMAKE
Pour cette installation, j'utilisais KUbuntu 13.04, 64 bits.
La première étape consiste à télécharger la dernière version (en supposant que les versions futures fonctionnent de manière similaire) à partir de www.glfw.org, probablement en utilisant ce lien.
L'étape suivante consiste à extraire l'archive et ouvrir un terminal. cd
dans le répertoire glfw-3.X.X et exécuter cmake -G "Unix Makefiles"
vous pouvez avoir besoin de privilèges élevés, et vous pouvez également avoir besoin de installer d'abord les dépendances de développement. Pour ce faire, essayez sudo apt-get build-dep glfw
ou sudo apt-get build-dep glfw3
ou faire cela manuellement, comme je l'ai fait en utilisant sudo apt-get install cmake xorg-dev libglu1-mesa-dev
... Il se peut que vous ayez besoin d'autres bibliothèques telles que les bibliothèques pthread... Apparemment je les avais déjà. (Voir les options -l données à l'étape de l'édition du lien g++ ci-dessous.)
Maintenant vous pouvez taper make
puis make install
, ce qui nécessitera probablement que vous utilisiez sudo
d'abord.
D'accord, vous devriez obtenir une sortie verbose sur les trois dernières étapes de CMake, vous indiquant ce qui a été construit ou où cela a été placé. (Dans /usr/include
, par exemple.)
Étape 2: Créer un programme de test et compiler
L'étape suivante consiste à ouvrir vim ("quoi ?! vim ?!" vous dites) ou votre IDE / éditeur de texte préféré... Je n'ai pas utilisé vim, j'ai utilisé Kate, car je suis sur KUbuntu 13.04... De toute façon, téléchargez ou copiez le programme de test à partir de ici (en bas de la page) et enregistrez, quittez.
Maintenant compilez en utilisant g++ -std=c++11 -c main.cpp
- pas sûr si c++11 est nécessaire mais j'ai utilisé nullptr
donc j'en avais besoin... Vous devrez peut-être mettre à niveau votre gcc vers la version 4.7, ou la prochaine version 4.8... Informations à ce sujet ici.
Puis corrigez vos erreurs si vous avez tapé le programme à la main ou si vous avez essayé d'être "trop malin" et que quelque chose n'a pas fonctionné... Puis liez-le en utilisant ce monstre ! g++ main.o -o main.exec -lGL -lGLU -lglfw3 -lX11 -lXxf86vm -lXrandr -lpthread -lXi
Donc vous voyez, dans la partie "installer les dépendances de développement", vous voudrez peut-être vérifier que vous avez également installé les bibliothèques de développement GL, GLU, X11 Xxf86vm (quoi que ce soit) Xrandr posix-thread et Xi (quoi que ce soit) aussi. Peut-être mettre à jour vos pilotes graphiques aussi, je pense que GLFW 3 peut nécessiter OpenGL version 3 ou supérieure ? Peut-être que quelqu'un peut confirmer cela ? Vous devrez peut-être ajouter les options du lien -ldl -lXinerama -lXcursor
pour que cela fonctionne correctement si vous obtenez des références non définies à dlclose
(crédit à @user2255242).
Et oui, j'avais vraiment besoin de tant de -l
!
Étape 3: Vous avez terminé, passez une bonne journée !
En espérant que ces informations étaient correctes et que tout a fonctionné pour vous, et que vous avez apprécié l'écriture du programme de test GLFW. Espérons aussi que ce guide a aidé, ou aidera, quelques personnes à l'avenir qui étaient en difficulté comme je l'étais aujourd'hui hier !
Au fait, tous les balises sont les choses que j'ai cherchées sur stackoverflow en cherchant une réponse qui n'existait pas. (Jusqu'à maintenant.) Espérons qu'elles sont ce que vous avez cherché si vous étiez dans une situation similaire à la mienne.
Note d'Auteur :
Ce n'est peut-être pas une bonne idée. Cette méthode (utilisant sudo make install) peut être dangereuse pour votre système. (Voir Ne pas casser Debian)
Idéalement, moi ou quelqu'un d'autre, devrait proposer une solution qui n'installe pas simplement des fichiers de bibliothèques etc dans les répertoires par défaut du système car ceux-ci devraient être gérés par des gestionnaires de paquets tels que apt
, et le faire peut causer un conflit et casser votre système de gestion de paquets.
Voir la nouvelle "réponse 2020" pour une solution alternative.
0 votes
Merci d'avoir mis ceci ici - évidemment beaucoup de travail y a été investi. Auriez-vous l'amabilité de le diviser en question et réponse ? Vous pouvez ajouter votre propre réponse à votre propre question et la marquer comme correcte.
0 votes
@Fraser Oui bien sûr si tu penses que ce serait mieux de cette façon
1 votes
Je suis d'accord. J'aime beaucoup GLFW mais j'étais vraiment frustré de ne pas trouver de documentation sur la façon de compiler la v3 sous Mac, etc.
1 votes
@user18490 Oui, j'ai trouvé cela assez surprenant, car GLFW semble être "un meilleur glut". Je suis sûr qu'ils ont mentionné dans leur documentation que glut est seulement bon pour apprendre et si vous voulez une librairie de fenêtre professionnelle, utilisez GLFW. Donc, la chose surprenante est qu'ils vous disent à quel point c'est bien, mais ne vous disent pas comment l'installer! (Tout à fait contraire à SFML)
0 votes
@Edward Bird. J'ai enfin trouvé des informations utiles sur cette page Web concernant l'installation de GLFW : scratchapixel.com/lessons/3d-basic-lessons/lesson-2-get-started/…
0 votes
@user18490 C'est génial, merci pour le lien!
0 votes
Je vais voir pour ajouter cela.
0 votes
Notez que à partir d'Ubuntu 14.10, GLFW3 se trouve dans le dépôt officiel.
0 votes
Les instructions d'installation sont désormais disponibles sur le site officiel de GLFW: glfw.org/docs/latest/compile_guide.html