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.
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
Il est préférable de copier SDL.dll vers votre C:\Windows\System (ou C:\Windows\System32 sous Windows x64).
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.
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++.
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.
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.
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.
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).
