Compiler Irrlicht.dll avec DirectX9 et Code::Block

Proposé par nabouill

le 17 September 2010 à 12h 47mn 18s

15235 visualisations

Ce tuto est un peu une mise à jour du tuto de Copland. Non pas que son tuto soit mauvais (loin de là, car je l'ai moi-même suivi pour ma première compilation d'Irrlicht) mais quelque paramètre on changer depuis. On va donc reprendre tout çà.
On va essayer de faire un tuto simple et détaillé pour que qui conque utilisant Code::Block (ou pas!)  puisse compilé Irrlicht simplement en y incluant DirectX9




1-LES BONS OUTILS:
(ps: les liens ci-dessous sont parfaitement valide à cette heure-ci, je ne peux bien-sûr pas le garantir éternellement, au pire une petite recherche sur google devrais y remédier, sinon, vous pouvez aussi répondre a ce tuto pour signaler un lien mort que je le corrige)

Télécharger la dernière version de Code::Block
installez le en laissant toutes les options par défaut; si vous possédiez déjà code::block, ceci est facultatif, mais ça peut toujours mettre votre version à jour.

Télécharger DirectX SDK (juin2010)
Installez le en laissant toutes les options par défaut (ps: sur certain système un petit message d'erreur apparait en fin d'installe, mas c'est normal, rien de bien méchant (c'est de MS))

Télécharger la dernière release d'Irrlicht
ou vous pouvez aussi récupérer la dernière version SVN en suivant ce petit tuto Récupérer la version SVN d'Irrlicht



2-COMPILATION D'IRRLICHT:
Ouvrez avec Code::Block "Irrlicht-gcc.cbp" (se trouvant dans le dossier Irrlicht\source\Irrlicht\)

Faite un click droit sur le projet et cliquez sur "Build option..."


Puis cliquez sur les onglets  pour y rajouter IRR_COMPILE_WITH_DX9_DEV_PACK dans les #defines comme indiqué dans l'ordre ci-dessous


Puis sur l'onglet "Linker settings", en bas sur "ADD", dans la petite fenetre ecrivez: d3dx9 puis OK. ce qui donne çà:


Ensuite on va demander au compilateur d'inclure des répertoire de recherche. On va lui rajouté les répertoires "include" de DirectX, pour ça on clique sur l'onglet "Search directories" et a l'onglet "Compiler" on clique sur "ADD" en bas. Dans la petite fenetre, on rajoute le répertoire Include de DirectX, qui si on a laissé les répertoires par défaut à l'installation doit être:
C:\Program Files\Microsoft DirectX SDK (June 2010)\Include
A la question: "Keep this as a relative path " répondre "non"
Résultat:


Ensuite on lui indique ou chercher les lib à linker, donc sur l'onglet "Linker" on clique sur "ADD" en bas, dans la petite fenêtre, on rajoute le répertoire des lib de DirectX, qui si on a laissé les répertoire par défaut à l'installation doit être:
C:\Program Files\Microsoft DirectX SDK (June 2010)\Lib\x86
Résultat:


On clique sur "OK" tout en bas. Bonne nouvelle, la config est terminée.

Pour finir, on avant de compiler, on choisit la version désiré.
Note : on a le choix entre fast-math et accruate-math. On choisira fast-math pour une rapidité un peu supérieur mes moins précis, on choisira accruate-math pour une meilleur précision. A vous de voir, mais (personnellement) je préfère choisir win32-Release_accruate-math.
Et on compile tout en cliquant sur "Rebuild". En image ça donne çà:


On va se faire un café, une citronnade ou ce que vous voulez.... un certain plus tard (et un bon paquet de warning mais rien de méchant)
On retrouve dans le dossier "Irrlicht\bin\Win32-gcc" une belle Irrlicht.dll" (incluant directX9, heureusement c'était le but)
et la lib dans "Irrlicht\lib\Win32-gcc".

Enjoy!

ps: si vous avez des suggestions pour améliorer ce tuto, ou bien remplacer des lien mort, n'hésitez pas.

#1 

26-12-2010 20:22:53

wabb
Membre
Date d'inscription: 30-04-2010
Messages: 68
Corrections: 1
Site web

le tuto est très bien détaillé mais il ya des petites fautes d'orthographe ici et là, cela peut créer une certaine confusion au cours de la lecture. merci !


Projet: EVO_Conflict's Factor (http://titanworks-system.over-blog.fr/#)

Hors ligne


#2 

02-02-2012 15:39:26

Kirk
Membre
Date d'inscription: 02-02-2012
Messages: 14

Merci beaucoup c'est très détailler (avec quelque fautes d’orthographe) mais merci beaucoup !!! Je me pause juste une question, sa sert à quoi? Compiler avec OpenGL ne serait pas mieux? Quel est l'avantage de direct X?
Merci


wofwar.olympe.in

Hors ligne


#3 

10-04-2012 11:21:10

Metallizer
Abonné
Lieu: Région Parisienne
Date d'inscription: 07-01-2007
Messages: 100
Site web

Sur certains systèmes, la partie graphique peut supporter très mal OpenGL (par exemple les puces graphiques Intel) et donc ne pas proposer des fonctionnalités comme les shaders. Généralement, DirectX est donc une alternative...

Hors ligne


#4 

10-04-2012 13:06:15

Metallizer
Abonné
Lieu: Région Parisienne
Date d'inscription: 07-01-2007
Messages: 100
Site web

Je tiens à préciser que la compilation ne fonctionne pas avec les version 1.7.x d'Irrlicht en raison du manque de d3d8.h

"[...]\source\Irrlicht\CD3D8Driver.h|21|fatal error: d3d8.h: No such file or directory|"

Le SDK de DirectX préconisé dans ce tuto ne contient pas les headers et libs de DirectX 8, ce qui provoque une erreur de compilation.

N'ayant pas réussi à compiler même avec la version "Summer 2004" du SDK de DX qui contient pourtant les headers de DX8, je me suis résolu à utiliser la dll de quelqu'un qui a réussi à la compiler :

http://www.gprogs.com/viewtopic.php?id=450

Hors ligne


#5 

06-07-2012 18:02:30

johnplayer
Habitué
Date d'inscription: 30-09-2007
Messages: 431

Pour compiler, il faut bien le Microsoft DirectX SDK (juin2010) car c'est le plus récent par contre, quand j'ai compilé avec Irrlicht 1.8 (SVN) j'ai dû rajouter dinput8 et dxguid dans le "linker setting/link libraries".


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
74 invités en ligne
Aucun membre connecté
RSS Feed