Compilation sous MS Windows avec Microsoft Visual Studio

Installation du paquet

Le paquet pour la compilation avec Visual Studio est disponible ici : here.

Solution

Copiez le dossier msvc2015 dans le dossier du code source de gwyddion (il s'agit du dossier /trunk/gwyddion dans svn, que l'on appellera par la suite gwyddion).

Fichiers générés

Copiez le contenu du dossier generated-files dans le dossier gwyddion.

Python 2.7

Installez Python 2.7. La version 2.7.11 ne fonctionne pas. La dernière version stable est la 2.7.9. Les paquets d'installation sont dans le dossier libs-install. Installez-les dans les dossier C:\libs\Python\Win32 et C:\libs\Python\x64. Il est impossible de lier la librairie de debogage Python car il manque le fichier python27_d.lib. Il est inutile de définir MS_NO_COREDLL, Py_NO_ENABLE_SHARED et SWIG_PYTHON_INTERPRETER_NO_DEBUG.

Résolution
  • copiez python27.lib en python27_d.lib
  • dans pyconfig.h commentez define Py_DEBUG

python27_d.lib et pyconfig.h sont dans le dossier libs\Python27, vous pouvez donc simplement les copier dans le dossier C:\libs\Python27.

Librairies

Gwyddion dépend de librairies externes. Définissez les chemins vers celles-ci grâce aux variables d'environnement. Les chemins doivent se terminer par le caractère \. Les versions stable des librairies sont dans le dossier libs. Voici un exemple de réglage des variables d'environnement :

CFITSIO_DIR = C:\libs\cfitsio\
GTK_DIR = C:\libs\Gtk\
GTKGLEXT_DIR = C:\libs\GetGLExt\
LIBICONV_DIR = C:\libs\libiconv\
LIBXML_DIR = C:\libs\libxml\
PYTHON_DIR = C:\libs\Python27\
ZLIB_DIR = C:\libs\zlib\

Événements de construction

Une partie de la construction du projet consiste à copier tous les fichiers nécessaires pour faire tourner Gwyddion. Les fichiers spécifiques sont copiés du dossier gwyddion vers le dossier $(OutDir) (ou un sous-dosssier approprié). Les fichiers dll sont copiés à partir des chemins des librairies externes définis dans les variables d'environnement, vers le dossier $(OutDir). Les commandes sont dans l'élément Project/Properties/Build Events/Post-Build Event.

Génération de la solution

Gwyddion est compilé nativement sous Linux à l'aide d'autotools. La conversion des conditions de compilation entre différentes plateformes n'est pas une chose triviale (conditions, dépendances, expansion de variables, fichiers de configuration différents entre Linux et Windows dus à une disponibilité différente des librairies). Tous ces facteurs aboutissent à l'impossibilité d'une conversion complète et automatique.

gen-gwyddion-msvc-sln.py est un script générant la solution Visual Studio et les projets. Le script doit être lancé dans le dossier gwyddion (voir plus haut). Gwyddion doit être compilé sous Linux avant de lancer le script. La compilation sous Linux génère des fichier .d et .h spécifiques et permet au script de générer les fichiers des fonctions exportées (.def). Tous ces fichiers sont nécessaires pour la compilation sous Windows. Ils sont tous triés dans le dossier generated-files et doivent être copiés dans le dossier gwyddion sous Windows. Le script aboutit à la solution Visual Studion et aux projets qui sont générés dans le dossier msvc2015. Tous les dossiers générés par le script sont créés dans le dossier gwyddion.

Les fichiers de configuration config.h et gwyconfig.h sont générés nativement sous Linux par autotools. Ces fichiers correspondent à la configuration Linux et doivent être modifiés pour permettre la compilation dans Visual Studio. La préparation de fichiers de configuration adaptés à Windows fait partie du script. Ces fichiers sont copiés dans le dossier generated-files durant le processus de génération réalisé par le script.

Procédure

Compilation sous Linux

Sous Linux. Lancez ./autogen.sh et make dans le dossier du code source (en général il s'agit du dossier gwyddion). Voir aussi la compilation sous Linux/Unix.

Lancez le script pour générer la solution et copier les fichiers générés

Sous Linux. Lancez gen-gwyddion-msvc-sln.py dans le dossier gwyddion.

Dossier généréContenu
msvc2015Solution Gwyddion
msvc2015/generated-filesfichiers .def, .c, .h

Copiez tous les fichiers et dossiers présents dans le dossier ./msvc2015/generated-files de la machine sous Linux vers le dossier ./gwyddion de la machine sous Windows.

Installation

Sous Windows. Voir la section installation du paquet.