OpenGL + Mesa 3D + MinGW

Je programme en C++ d'applications (Ubuntu) de Linux et de les compiler pour 2 systèmes d'exploitation: en mode natif à Linux à l'aide de "g++" (compilateur C++ de GNU) et cross-compiler pour Windows à l'aide de "i386-mingw32-g++" (MinGW C++ cross-compilateur).

Maintenant, je suis en train de cross-compiler "OpenGL" applications (à partir de Linux à Windows) - pour cela, j'ai besoin de quelques fichiers de la bibliothèque OpenGL.

Comme une implémentation d'OpenGL, j'utilise la "Mesa 3D" bibliothèque open source. Heureusement, Ubuntu propose "précompilés" mesa3d bibliothèques (libgl1-mesa-dev et libglu1-mesa-dev) pour Linux, mais malheureusement, il n'y a pas toutes les bibliothèques précompilées pour l'utilisation avec MinGW cross-compilateur (donc Windows de versions) - donc je "DOIT" compiler manuellement "de source" (qui peut être téléchargé à partir de http://www.mesa3d.org page d'accueil).

Mais je n'ai aucune idée de le faire. Dans le mesa3d code source, il y a certains documents de la façon de construire les bibliothèques pour certains des plates-formes spécifiques - plus précisément, il est "README.MINGW32" fichier readme.

Mais juste sur les premières lignes il y a une commande

mingw32-make -f Makefile.mgw [OPTIONS...]

qui je ne peut pas s'exécuter parce que je n'ai pas de "mingw32-make" programme installé. Par d'autres logiciels, j'ai utilisé pour construire avec les "classiques"

./configure -> make -> make install

procédure, mais ce n'est pas de travailler sur mesa3d bibliothèques.

Par exemple, j'ai aussi essayé de

./configure --host=i386-mingw32

et il a été configuré ok, mais après avoir tapé

make

il a jeté une erreur

error: #error No PIPE_SUBSYSTEM_WINDOWS_xxx subsystem defined.

et maintenant je suis PERDU 🙁 .

Si quelqu'un sait comment créer le mesa3d bibliothèques pour les utiliser avec mingw32?

P. S.: Et bien sûr, je NE VEUX PAS à l'utilisation de Microsoft Visual Studio PLUS JAMAIS 🙂 . Et aussi, je tiens à faire toutes les choses nécessaires pour construire OpenGL environnement Linux et utilisant mingw32 pour la compilation croisée. J'espère que c'est possible.

P. S. 2: Sur http://www.mesa3d.org/systems.html page, il y est écrit que l'utilisation de MinGW avec Mesa 3D est "obsolète". Je suis sur la bonne façon de l'utiliser seulement de cette façon?

  • Je me demandais... OpenGL est généralement utilisé pour accéder à l'accélération matérielle 3D. En utilisant mesa sur windows, vous avez recours à une mise en œuvre de logiciels sur windows. Est-ce vraiment ce que vous voulez ? Sinon, vous avez juste besoin d'utiliser le windows de bibliothèques opengl.
  • Mon objectif principal est d'être "indépendant de l'architecture" lors de l'écriture de code c++- > donc je pensais que l'utilisation d'une croix-plate-forme de la bibliothèque ("mesa3d" dans ce cas) est un bon moyen pour y parvenir, je ne sais pas, peut-être que je me trompe. Dois-je donc comprendre pour en "chaque Windows" il y a des "bibliothèques" qui implémente OpenGL et quand j'écris quelques OpenGL code sur ma machine Linux, je n'ai pas besoin de distribuer tout OpenGL bibliothèques avec mon programme? Si oui, que les bibliothèques sont que - "opengl.dll", "libopengl.lib" ou quoi?
  • OpenGL est habituellement exposées dans le cadre de la plate-forme. Pour Windows, Microsoft a été de l'expédition d'une interface de OpenGL (opengl.lib) dans sa plate-forme Sdk pour toujours. Je ne suis pas sûr exactement comment vous allez sur la construction .un pour mingw de l'éditeur de liens de ceux-ci, mais il est certainement différent de l'utilisation de mesa.
  • Mesa lui-même est un logiciel de mise en œuvre. Sur GNU/Linux, à côté de la mise en œuvre de logiciels, il comprend également DRI (direct rendering interface) qui permet l'écriture de l'accélération matérielle des pilotes pour GL.
InformationsquelleAutor Petike | 2010-01-01