Compiler sous Windows

From FreeCAD Documentation
Revision as of 13:24, 31 July 2012 by Mario52 (talk | contribs) (création et traduction de la page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

CompileOnWindows/fr

Cet article explique pas à pas comment compiler FreeCAD dans Windows.

Prérequis

Ce que vous devez avoir, c'est le compilateur. Sous Windows, nous utilisons le compilateur MS VisualStudio 8 (ou VC++ Express) avec le highest service pack.
Bien qu'il soit probablement possible d'utiliser Cygwin ou MinGW gcc, ils ne sont, jusqu'à présent, ni testés ni portés. Nous avons également été amenés d'utiliser VC8 Express Edition.
Vous devez également télécharger Windows Platform SDK et Windows.h. Vous devez aussi posséder toutes les librairies tierces, pour compiler FreeCAD avec succès.
Si vous utilisez des compilateurs MS vous devrez très probablement télécharger Third Party Libraries de FreeCAD, qui vous fournit tous les outils nécessaires à la compilation de FreeCAD pour Windows.

Les autres conditions préalables (et programmes utiles), sont les suivants :

Il est également nécessaire d'avoir, dans votre chemin d'accès système "Path" :

Travailler avec cMake

Tout d'abord, vous devez télécharger download cMake, et, l'installer sur votre machine de travail.

Passer à cMake

Depuis la version 0.9, nous utilisons le système de compilation CMake pour générer la compilation et la création des fichiers pour les différents compilateurs.
Nous n'avons plus à livrer de fichiers vcproj.
Si vous voulez créer d'anciennes versions de FreeCAD (0,8 et plus), voir "Compilation de versions plus anciennes", plus loin dans cet article.

Nous avons changé, parce qu'il est devenu de plus en plus pénible de maintenir les dossiers de projet, de plus de 30 cibles et compilations x.
CMake, nous donne la possibilité de soutenir les " IDE " alternatifs, comme Code::Blocks, Qt Creator et Eclipse CDT.
le compilateur principal que nous utilisons, est encore MS VC9 Express. Mais pour l'avenir, nous prévoyons, un processus de construction sur Windows sans compilateur propriétaire.

Configurer le processus de construction

La première étape pour construire FreeCAD avec CMake, est de configurer l'environnement.
Il y a fondamentalement deux façons d'utiliser le LibPack :

  • Installation de toutes les libs nécessaires et laissez CMake les trouver.
  • Dans le premier cas, il vous suffit de donner à CMake le chemin vers le LibPack, et, tout le reste doit être fait automatiquement,

et, vous verrez un écran comme celui-ci :



Vous voyez le chemin de LibPack inséré dans la variable FREECAD_LIBPACK_DIR. A partir de maintenant, tous les chemins sont présents et fixés.
Vous avez juste besoin d'appuyer sur le bouton Generate pour obtenir les fichiers générés du projet. Si vous cochez l'option FREECAD_LIBPACK_USE, la configuration essaie de trouver la bibliothèque que votre système a besoin, selon que les libs fonctionnent plus ou moins bien.
Donc, vous devez régulièrement définir les chemins (paths) manuellement. CMake affiche ceux qu'il ne trouve pas, et qui ont besoins d'être spécifiés.

Options de construction du processus de génération

Le système de construction CMake nous donne beaucoup plus de souplesse, au cours du processus de compilation.
Cela signifie que nous pouvons activer et désactiver certaines fonctionnalités ou modules. C'est de cette manière que le noyau Linux travaille.
Vous avez beaucoup de commutateurs (cases à cocher), pour déterminer le processus de construction.
Voici la description de ces commutateurs mais, beaucoup de choses vont très probablement changer à l'avenir, parce que nous voulons accroître beaucoup plus la flexibilité de construction.

Link table
Variable name Description Default
FREECAD_LIBPACK_USE Switch the usage of the FreeCAD LibPack on or off On Win32 on, otherwishe off
FREECAD_LIBPACK_DIR Directory where the LibPack is FreeCAD SOURCE dir
FREECAD_BUILD_GUI Build FreeCAD with all Gui related modules ON
FREECAD_BUILD_CAM Build the CAM module, experimental! OFF
FREECAD_BUILD_INSTALLER Create the project files for the Windows installer. OFF
FREECAD_BUILD_DOXYGEN_DOCU Create the project files for source code documentation. OFF
FREECAD_MAINTAINERS_BUILD Switch on stuff needed only when you do a Release build. OFF


Procédures avec CMake et Visual Studio 2008

Une fois que vous commencer avec CMake GUI, sélectionnez le dossier source, ajoutez le dossier de destination et cliquez sur Configure.
CMake vous demandera de sélectionner un générateur - le générateur recommandé pour les FreeCAD est Visual Studio 9 2008.
Une fois que vous cliquez sur Next (Suivant), CMake affichera erreur car il ne peut pas trouver LibPack.

Vous aurez besoin de cocher manuellement Libpack qui se trouve dans la variable FREECAD_LIBPACK_DIR.
Après cela, vous devez cliquer sur Configure une fois de plus, et la configuration est faite, maintenant, cliquez sur Generate. Maintenant que vous avez terminé avec CMake, vous pouvez le fermer.

Avant d'utiliser Visual Studio, nous devons ajouter à libpack le chemin d'accès au système (vous ne devez faire cela qu'une seule fois lors de la première construction). Vous devez aller dans "Panneau de configuration → Système → Paramètres système avancés".
Dans la boîte de dialogue les "Control Panel → System", sous onglet "Avancé" il y a le bouton Environment Variables. Cliquez sur ce bouton.

Une fois que vous cliquez dessus, ajoutez le chemin d'accès à libpack, et séparez le des autres chemins (path) avec un ";" (point virgule) comme ceci, ....em32;C:\Progr....
Maintenant, vous devez démarrer Visual Studio 2008. Visual C++ 2008 Express fonctionnera également. Avant de compiler, une bonne procédure, est de copier le dossier bin de libpack\bin dans le dossier bin des fichiers de compilation (ceux générés par CMake).

Après cela, allez dans "File → Open → Project/Solution". Puis vous devez ouvrir le fichier FreeCAD_Trunk.sln, à partir des fichiers de compilation générés par CMake.
Une fois ouvert, il y aura trois menus contextuels dans la barre d'outils, l'un d'eux, "Debug", est à basculer sur "Release", ensuite, exécutez "Build → Build Solution" (ou tout simplement appuyez sur F7 , le processus peut prendre du temps.
Une fois terminé, choisissez "Debug → Start without Debugging". Une fenêtre popup vous demandera de sélectionner le fichier .exe. Cliquez dans le menu popup sous la rubrique "Executable File Name" et choisissez "Browse", puis allez dans le dossier bin\ où sont les fichiers source, et sélectionnez "FreeCAD.exe" et . . . vous avez terminé !

Compilation en ligne de command

Voici un exemple pour compiler FreeCAD en mode ligne de commande :

rem @echo off
rem   Build script, uses vcbuild to completetly build FreeCAD

rem update trunc
d:
cd "D:\_Projekte\FreeCAD\FreeCAD_0.9"
"C:\Program Files (x86)\Subversion\bin\svn.exe" update 

rem  set the aprobiated Variables here or outside in the system

set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
set INCLUDE=
set LIB=

rem Register VS Build programms
call "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"

rem Set Standard include paths
set INCLUDE=%INCLUDE%;%FrameworkSDKDir%\include
set INCLUDE=%INCLUDE%;C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include

rem Set lib Pathes
set LIB=%LIB%;C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
set LIB=%LIB%;%PROGRAMFILES%\Microsoft Visual Studio\VC98\Lib

rem Start the Visuall Studio build process
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild.exe" "D:\_Projekte\FreeCAD FreeCAD_0.9_build\FreeCAD_trunk.sln" /useenv

Compilation de versions plus anciennes

Utilisation de LibPack

Pour compiler facilemant FreeCAD , nous fournissons une librairie complète, c'est la LibPack, vous pouvez vous la procurer sur la page de téléchargement de sourceforge.

Vous devez définir les variables d'environnement suivantes :

  • FREECADLIB = "D:\Wherever\LIBPACK"
  • QTDIR = "%FREECADLIB%"

Ajoutez "%FREECADLIB%\bin" et "%FREECADLIB%\dll" dans la variable systeme PATH.
N'oubliez pas que vous devrez remplacer "%FREECADLIB%" avec le nom de chemin d'accès, Windows ne remplace pas de façon récursive les variables d'environnement.

Configurer les répertoires dans Visual Studio

Certains chemins (path) dans Visual Studio doivent être configurés. Pour les modifier, allez dans le menu Tools → Options → Directory

Includes

Ajouter les chemins ci-dessous, la liste des chemins (path) comprend :

  • %FREECADLIB%\include
  • %FREECADLIB%\include\Python
  • %FREECADLIB%\include\boost
  • %FREECADLIB%\include\xercesc
  • %FREECADLIB%\include\OpenCascade
  • %FREECADLIB%\include\OpenCV
  • %FREECADLIB%\include\Coin
  • %FREECADLIB%\include\SoQt
  • %FREECADLIB%\include\QT
  • %FREECADLIB%\include\QT\Qt3Support
  • %FREECADLIB%\include\QT\QtCore
  • %FREECADLIB%\include\QT\QtGui
  • %FREECADLIB%\include\QT\QtNetwork
  • %FREECADLIB%\include\QT\QtOpenGL
  • %FREECADLIB%\include\QT\QtSvg
  • %FREECADLIB%\include\QT\QtUiTools
  • %FREECADLIB%\include\QT\QtXml
  • %FREECADLIB%\include\Gts
  • %FREECADLIB%\include\zlib

Libs

Ajouter le chemin ci-dessous, dans la liste :

  • %FREECADLIB%\lib

Executables

Ajoutez le chemin ci-dessous pour la recherche des exécutables :

  • %FREECADLIB%\bin

Le répertoire d'installation des binaires de TortoiseSVN est généralement "C:\Programm Files\TortoiseSVN\bin", cela est nécessaire quand SubWVRev.exe est utilisé, pour compiler une distribution, qui est utilisée, pour extraire le numéro de version à partir de Subversion.

Python doit être installé

Lors de la compilation, des scripts Python sont exécutés. Donc, l'interpréteur Python doit être présent avec le système d'exploitation. Utilisez une boîte de commande pour le vérifier. Si la bibliothèque Python n'est pas installée correctement, vous obtiendrez un message d'erreur comme Cannot find Python.exe. Si vous utilisez le LibPack vous pouvez également utiliser Python.exe dans le répertoire bin.

Specialement pour VC8

Lors de la compilation du projet avec VC8, vous devez changer les liens d'informations pour la bibliothèque WildMagic, puisque vous avez besoin de versions différentes pour VC6 et VC8. Les deux versions sont fournies dans LIBPACK/dll.
Pour "AppMesh", dans les propriétés du projet changez le nom de la bibliothèque wm.dll pour la version VC8. Prenez soin de le changer avec Debug et quittez la configuration.

Compilation

Après vous être conformé à toutes ces conditions préalables la compilation, j'espère q'un seul clic de souris dans VC suffira File:64px-FreeCAD05 Tango Face-smile.png

Après la compilation

Allez dans l'environnement ou FreeCAD a été compilé, vous aurez besoin de mettre certains fichiers de la LibPack dans le dossier bin, où se trouve FreeCAD.exe après une compilation réussie :

  • python.exe and python_d.exe from LIBPACK/bin
  • python25.dll and python25_d.dll from LIBPACK/bin
  • python25.zip from LIBPACK/bin
  • make a copy of Python25.zip and rename it to Python25_d.zip
  • QtCore4.dll from LIBPACK/bin
  • QtGui4.dll from LIBPACK/bin
  • boost_signals-vc80-mt-1_34_1.dll from LIBPACK/bin
  • boost_program_options-vc80-mt-1_34_1.dll from LIBPACK/bin
  • xerces-c_2_8.dll from LIBPACK/bin
  • zlib1.dll from LIBPACK/bin
  • coin2.dll from LIBPACK/bin
  • soqt1.dll from LIBPACK/bin
  • QtOpenGL4.dll from LIBPACK/bin
  • QtNetwork4.dll from LIBPACK/bin
  • QtSvg4.dll from LIBPACK/bin
  • QtXml4.dll from LIBPACK/bin

Lorsque vous utilisez LibPack avec une version de Python plus de 2.5, vous devez copier deux fichiers supplémentaires,
qui sont :

  • zlib.pyd and zlib_d.pyd from LIBPACK/bin/lib. Nécessaire pour que Python puisse ouvrir la bibliothèque Python zippéé.
  • _sre.pyd and _sre_d.pyd from LIBPACK/bin/lib. Nécessaire pour que Python puisse compiler dans le système d'aide intégré.

Si vous n'arrivez pas à le faire fonctionner, à cause d'une erreur Python, il est très probable que l'un des fichiers zlib*.pyd est manquant.

Trucs supplémentaires

Si vous voulez compiler du code source de la documentation, vous aurez besoin de DoxyGen.

Pour créer et installer un package vous aurez besoin de WIX.

Pendant la compilation des scripts Python son utilisés, assurez vous que Python fonctionne correctement.

Pour plus de détails, allez voir dans README.Linux dans vos sources.

Tout d'abord, vous devez construire le plugin Qt, qui fournit tous les widgets personnalisés de FreeCAD, et, dont nous avons besoin pour Qt Designer.
Les sources sont situées dans :

//src/Tools/plugins/widget//.

jusqu'à présent, nous ne fournissons pas de makefile - mais appelez :

qmake plugin.pro

Une fois fait, appeler make va créer la bibliothèque

//libFreeCAD_widgets.so//.

Pour rendre cette bibliothèque visible à Qt Designer vous devez copier le fichier dans :

//$QTDIR/plugin/designer//.



Tracker/fr
CompileOnUnix/fr
Traductions disponibles de cette page : Template:Se