Agar

Hypertriton, Inc.
( English )
ACCUEIL | SCREENSHOTS | TÉLÉCHARGER | DOCS | FORUMS/LISTES | CHAT | CONTRIBUER | SIGNALER BOGUE | TWITTER | WIKI

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 préférable d'utiliser des versions standard d'Agar (soit compilées avec FreeType, threads et OpenGL), mais Agar peut être optionellement compilé sans FreeType (nofreetype), sans threads (nothreads)) ou sans OpenGL (nogl). Ces versions ne sont pas recommandées.
Installer Agar

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
Installer SDL
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:

  1. Si Cygwin n'est pas installé, installez le. Assurez-vous que Interpreters / perl est sélectionné.
  2. Téléchargez_EXEC(PREMAKE.EXE) d'ici et copiez le fichier vers le répertoire /usr/local/bin/ de Cygwin.
  3. Téléchargez BSDBuild et installez le avec ./configure && make all install.
  4. Ouvrez le fichier Makefile.proj (dans le répertoire source d'Agar) à l'aide d'un éditeur text.
  5. Ajoutez une entrée à PROJFILES, par exemple: windows:arm:vs2005:-nogl:--without-gl
  6. 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\.
Problèmes communs

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).