web-dev-qa-db-fra.com

OpenGL 3.3 / 4.1 sur Mac OSX 10.9 à l'aide de la bibliothèque GLFW

J'essaie d'utiliser OpenGL 3.3/4.1 sur mon Mac OSX 10.9 maintenant qu'il est enfin disponible. J'ai utilisé le livre SuperBible 5 et ses exemples pour apprendre 3.3. Je viens de découvrir qu'il ne fonctionne en fait qu'avec OpenGL 2.1, mais pour mes exemples, lorsque mon vertex shader a commencé à refuser de compiler. J'ai trouvé que j'avais besoin de mettre la main sur cette bibliothèque GLFW pour faire du fenêtrage OpenGL pour moi. Cette bibliothèque me permettra d'utiliser la version 4.1 d'OpenGL que OSX est capable d'exécuter. Ma question est: est-ce que quelqu'un a une version statique de la bibliothèque GLFW 3.0.4 de la bibliothèque OpenGL de Mac OSX 9 qu'il peut simplement m'envoyer? C'est un peu pénible d'essayer de construire la bibliothèque à partir de zéro, car cela implique d'installer CMake, puis le code de la bibliothèque, puis d'essayer de faire fonctionner et compiler ensemble. Je n'ai vraiment besoin que de la bibliothèque pour pouvoir lancer OpenGL 3.3/4.1.

14
user3600260

Je suggérerai d'installer glfw via homebrew http://brew.sh/ L'avantage étant que vous pouvez toujours le désinstaller proprement en faisant brew uninstall glfw3!

Vous devez avoir les "Outils de ligne de commande pour Xcode" et l'installation de Xcode https://github.com/Homebrew/homebrew/wiki/Installation

xcode-select --install

Une fois Homebrew installé, ouvrez le terminal et exécutez

brew update

brew tap homebrew/versions

brew install glfw3 pour glfw3 OU

brew install glfw2 pour glfw2

De plus, si vous désirez une construction statique, utilisez l'indicateur --static

brew install --static glfw3

Les bibliothèques et les fichiers d'inclusion seront disponibles sur usr/local/lib et usr/local/include

Maintenant, si vous avez un programme qui repose sur opengl et glfw, vous voudriez le compiler quelque chose comme ceci: gcc program.c -o myapp -framework OpenGl -lglfw3 (ou -lglfw2)

Si vous avez toujours des problèmes avec le fichier d'en-tête glfw, vous pouvez faire:

gcc program.c -o myapp -framework OpenGl -I/usr/local/include -lglfw3

28
juanandresnyc

Pour créer la bibliothèque GLFW à partir de la source, seules quelques étapes sont nécessaires:

  1. Téléchargez et extrayez le code source GLFW.

  2. Ouvrez le terminal.

  3. cd dans le répertoire extrait.

  4. Tapez cmake ., appuyez sur retour.

  5. Un Makefile sera créé pour vous.

  6. Tapez make, appuyez sur retour.

  7. Après le processus de compilation, saisissez Sudo make install.

Les bibliothèques seront copiées dans /usr/local/lib/, les fichiers d'en-tête à /usr/local/include/.

Remarque: Vous aurez besoin d'une suite de compilateurs installée pour construire un logiciel, ce serait généralement le package XCode Command Line Tools. Pour cela, installez et lancez XCode depuis le Store ou téléchargez les outils depuis le site développeur .

23
Appleshell

Si vous avez des problèmes avec l'éditeur de liens, essayez de compiler comme ceci:

g++ youSource.cpp -I/usr/local/include -L/usr/local/lib -lglfw3 -framework Cocoa -framework OpenGL -framework IOKit -framework CoreFoundation -framework CoreVideo

ou juste:

g++ youSource.cpp -I/usr/local/include `pkg-config --cflags glfw3`  `pkg-config --static --libs glfw3`
4
0x1337