|
Ce guide décrit la procédure pour compiler une application Agar (ou la
bibliothèque Agar en tant que tel) sous:
- Microsoft Visual Studio 2008
- Microsoft Visual Studio 2005
- Microsoft Visual Studio 2003
- Microsoft Visual Studio 2002
- Microsoft Visual Studio 6.0
Vous devez avoir le
Microsoft Windows SDK
(ou «Platform SDK») et le
Visual C++ 2005 Redistributable Package
déjà installés sur votre système.
|
Á propos des options de compilation |
|
Il est toujours préférable d'utiliser des versions standard d'Agar (soit
compilées avec FreeType, threads et OpenGL). Nous fournissons des versions
nofreetype et nothreads, mais ce n'est pas recommandé de
les utiliser. Sauf si vous en avez vraiment besoin, il est inutile de
désactiver le support multithread ou OpenGL d'Agar même si vous ne les
utilisez pas directement dans votre application.
|
|
Téléchargez le dernier paquet binaire d'Agar pour Windows sur notre
page de téléchargement, et
décompressez l'archive dans un répertoire tel que
C:\Program Files\Agar.
Démarrez Visual Studio et allez sur Tools / Options. Sélectionnez
Projects and Solutions / VC++ Directories.
Dans le champs Show directories for, sélectionnez l'option
Include files. Si vous avez installé le SDK d'Agar dans
C:\Program Files\Agar, par exemple, ajoutez:
C:\Program Files\Agar\include
Maintenant sélectionnez Show directories for / Library files et
ajoutez:
C:\Program Files\Agar\lib
|
Agar (quant à la version 1.3) requiert la bibliothèque SDL.
Si vous n'avez pas déjà installé la version devel de celle-ci,
téléchargez, à partir
d'ici,
le fichier SDL-devel-1.2.*-VC8.zip
(ou SDL-devel-1.2.*-VC6.zip pour Visual Studio 6.0) et
décompressez son contenu sur, par exemple, C:\Program Files\SDL.
Ajoutez alors C:\Program Files\SDL\include à votre include path
ainsi que C:\Program Files\SDL\lib à votre library path.
Il est préférable de copier SDL.dll vers votre
C:\Windows\System (ou C:\Windows\System32 sous Windows x64).
|
|
Optionel / Recommandé: Support multithread |
|
Si vous avez installé une des versions nothreads du Agar SDK, vous
pouvez ignorer cette section.
Le support multithread d'Agar requiert une interface POSIX threads.
L'interface POSIX threads est supportée nativement par tous les systèmes
d'exploitation respectables. Sous Windows, vous devrez télécharger une
petite bibliothèque à cet effet,
Pthreads-win32.
Allez sur
la page de téléchargement,
et obtenez la dernière version (pthreads-w32-2-x-x-release.exe).
Décompressez l'archive dans un répertoire temporaire.
Renommez et déplacer le répertoire Pre-built.2 sur
C:\Program Files\Pthreads.
Copiez les fichiers DLL (ou au moins PthreadVC2.DLL) du
sous-répertoire lib vers votre C:\Windows\System
(ou C:\Windows\SysWOW64 avec Windows x64).
Dans Visual Studio, allez sur
Tools / Options / Projects and Solutions / VC++ Directories
et ajoutez
C:\Program Files\Pthreads\include à votre include path et
C:\Program Files\Pthreads\lib à votre library path.
|
|
Optionel / Recommandé: La Bibliothèque FreeType |
|
Si vous avez installé une des versions nofreetype du Agar SDK, vous
pouvez ignorer cette section.
Si FreeType n'est pas disponible, Agar utilisera une police de caractères
interne de type bitmap (monospaced).
Voici un paquet binaire de FreeType compilé et testé avec Visual Studio 2005:
FreeType235-win32-i386.zip.
Décompressez le dans un répertoire tel que
C:\Program Files\FreeType.
Si cela ne fonctionne pas, il existe un paquet précompilé sur
GnuWin32
(aussi sur SourceForge), mais vous devrez
renommer lib/libfreetype.dll.a vers freetype.lib (et
copier bin/freetype6.dll dans votre C:\windows\system ou
C:\windows\system32). Vous aurez possiblement quelques avertissements
du linker vu que cest binaires n'ont pas été compilées sous Visual C++.
|
|
Optionel: Installer FreeType (en le compilant vous-même) |
Si vous désirez compiler FreeType sous Visual Studio vous même, suivez ces
étapes:
Téléchargez la dernière version du paquet source à partir de
SourceForge, et décompressez le dans un répertoire
quelconque.
Dans le répertoire source de FreeType, allez dans builds\win32\visualc
et ouvrez freetype.sln avec Visual Studio.
Localisez le champs «Solution Configurations» sur la toolbar de
Visual Studio, et sélectionnez «Release Multithreaded».
Vous pouvez maintenant compiler la solution. Le fichier .lib sera
alors généré. Avec un clic droit sur le projet freetype, ouvrez le
Solution Explorer, allez sur Properties et localisez
Configuration Properties / General. Dans Project Defaults,
attribuez au champs Configuration Type la valeur de
Dynamic Library (.dll), et compilez la solution de nouveau. Cette
fois, un fichier .dll sera généré.
Quittez Visual Studio, et allez dans le répertoire de build
(soit objs dans le répertoire source de FreeType). Localisez le
fichier .lib (soit freetype*MT.lib), copiez le dans un
nouveau répertoire tel que C:\Program Files\FreeType\lib, et
renommez le freetype.lib. Ensuite, localisez freetype.dll
sous release_mt dans le répertoire de build, et copiez la
sur C:\Program Files\FreeType\lib. Copiez aussi la DLL sur
C:\Windows\System ou C:\Windows\System32.
|
|
Créer une application Agar dans Visual Studio |
|
Vous pouvez maintenant créez un nouveau projet. Dans
l'Application Wizard, utilisez Console application dans
le champs Application type, cochez Empty project et cliquez
sur Finish.
Dans le Solution Explorer, allez dans Properties à partir
du menu-popup de votre projet.
Cliquez sur Configuration Properties / Linker / System et
attribuez au paramètre SubSystem la valeur:
Windows (/SUBSYSTEM:WINDOWS).
Cliquez sur Configuration Properties / Linker / Input et dans le
champ Additional Dependencies, saisissez:
ag_gui.lib
ag_core.lib
SDL.lib
SDLmain.lib
opengl32.lib
freetype.lib
Si vous utilisez une version nogl du Agar SDK, vous pouvez enlever
opengl32.lib.
Si vous utilisez une version nofreetype, vous pouvez enlever
freetype.lib.
Ajoutez un nouveau fichier C++ dans Source Files sous
Solution Explorer, tel que main.cpp. Voici un
Hello World
typique que vous pouvez utiliser.
Votre application devrait maintenant compiler et exécuter.
Note: Si vous voulez que votre application soit portable à d'autres
systèmes d'exploitations et d'autres environnements de développement,
considérez l'utilitaire
BSDBuild.
Il peut même générer les fichiers de projet à votre place.
|
|
Compiler Agar comme tel avec Visual Studio |
|
Si vous n'utilisez pas le SDK précompilé et que vous préférer compiler
Agar vous-même, localisez les « fichiers de projet » situés dans le
répertoire .\ProjectFiles\ de la distribution source d'Agar.
Choisissez le .zip qui correspond à votre version de Visual C++,
par exemple vs2005-windows.zip fonctionnera avec toutes les
éditions de Visual C++ 2005.
Décompressez l'archive sur la racine du répertoire source d'Agar
(Agar.sln devrait se trouver dans le même répertoire que le
fichier README).
Vous pouvez maintenant ouvrir Agar.sln avec Visual Studio et
compiler Agar.
Une fois Agar compilé, exécutez INSTALL-SDK.EXE dans le répertoire
raçine de la source pour installer les bibliothèques d'Agar sur votre système.
Par défault, elles sont installées sur
C:\Program Files\Agar.
|
|
Regénérer les fichiers de projet d'Agar |
|
Le jeu de fichiers de projet inclus dans le .\ProjectFiles\
d'Agar fut choisi pour différentes combiaisons de versions d'IDE,
de plateformes et options de compilation (tel que nothreads).
Si vous désirez utiliser une combinaison spécifique non disponible dans
.\ProjectFiles\, suivez la procédure suivante:
- Si Cygwin n'est pas installé,
installez le.
Assurez-vous que Interpreters / perl est sélectionné.
- Téléchargez_EXEC(PREMAKE.EXE)
d'ici et
copiez le fichier vers le répertoire /usr/local/bin/ de
Cygwin.
- Téléchargez BSDBuild
et installez le avec
./configure && make all install.
- Ouvrez le fichier Makefile.proj (dans le répertoire source
d'Agar) à l'aide d'un éditeur text.
- Ajoutez une entrée à
PROJFILES, par exemple:
windows:arm:vs2005:-nogl:--without-gl
- Toujours dans le répertoire racine des sources d'Agar, exécutez
make proj à partir du shell de Cygwin. Les nouveaux fichiers
de projet devraient alors apparaître sous .\ProjectFiles\.
|
|
Si vous obtenez l'erreur suivante:
SDLmain.lib(SDL_win32_main.obj): error LNK2019:
unresolved external symbol _SDL_main referenced in function _main
Assurez vous que votre fonction main() est déclarée exactement en
tant que int main(int argc, char *argv).
|
|