Compilazione in Windows

From FreeCAD Documentation
Revision as of 09:19, 22 May 2019 by Mario52 (talk | contribs) (Created page with "Aggiungi il seguente percorso di ricerca all'elenco di ricerca del percorso eseguibile: * %FREECADLIB%\bin * Directory di installazione binaria TortoiseSVN, di solito "C:\Prog...")

Questo articolo spiega passo dopo passo come compilare FreeCAD su Windows.

Prerequisiti

Programmi richiesti

  • Git Ci sono una serie di alternative come GitCola, Tortoise Git, e altri.
  • CMake versione 2.x.x oppure Cmake 3.x.x
  • Python >2.5 (Questo è necessario solo se non si utilizza il Libpack. Il Libpack è dotato come minimo di Python(2.7.x) idoneo per compilare e eseguire FreeCAD)

Codice sorgente

Usando Git (Preferito)

Per creare un ramo locale e scaricare il codice sorgente è necessario aprire un terminale (prompt dei comandi) e portarsi nella directory (cd) in cui si desidera creare il sorgente, quindi digitare:

git clone https://github.com/FreeCAD/FreeCAD.git FreeCAD-code

Compilatore

In Windows, il compilatore di default è MS Visual Studio, sia che si tratti della versione Express oppure Completa 2008, 2012, o 2013.

Per chi vuole evitare l'installazione completa dell'ingombrante Visual Studio al solo scopo di avere un compilatore può vedere Compilare in Windows - Occupare meno spazio.

Note

Sebbene possa essere possibile utilizzare Cygwin o MinGW gcc, non è stato testato o portato fino ad ora.


Librerie di terze parti

Per compilare correttamente FreeCAD, servono tutte le Librerie di terze parti . Se si usa i compilatori MS si raccomanda di installare FreeCAD LibPack,che fornisce tutte le librerie necessarie per costruire FreeCAD in Windows. Serve il Libpack adatto alla propria architettura e compilatore. Attualmente FreeCAD fornisce Libpack Version11 per x32 e x64, per VS9 2008, VS11 2012, e VS12 2013.

Programmi opzionali

  • NSIS installatore Windows (nota: prima era usato l'installatore WiX - ora è in corso il passaggio a NSIS) - per creare un installatore msi

System Path Configuration

All'interno del percorso di sistema assicurarsi di impostare i percorsi corretti per i seguenti programmi:

  • git (non tortoiseGit, ma git.exe) Serve a Cmake per aggiornare correttamente le informazioni "About FreeCAD" nel file version.h che consente a FreeCAD di riportare la versione corretta in About FreeCAD dal menu Aiuto.
  • Opzionalmente è possibile includere il Libpack nel percorso di sistema. Questo è utile se si prevede di costruire più configurazioni o versioni di FreeCAD, si dovranno copiare meno file, come spiegato più avanti nel processo di costruzione.

Per aggiungere al percorso di sistema:

  • Menu di avvio → Fare clic con il pulsante destro del mouse su Computer → Proprietà → Impostazioni di sistema avanzate
  • Scheda Avanzate → Variabili d'ambiente ...
  • Aggiungi il PATH/TO/GIT to the PATH
  • Dovrebbe essere separato dagli altri con un punto e virgola `;`

Configurazione con CMake

Il passaggio a CMake

Attenzione

Da FreeCAD versione 0.9 abbiamo smesso di fornire i file .vcproj.

Attualmente, FreeCAD utilizza il sistema di compilazione CMake per generare build e creare file che possono essere utilizzati tra diversi sistemi operativi e compilatori. Se vuoi creare versioni precedenti di FreeCAD (0.8 e precedenti) vedi Costruire versioni precedenti più avanti in questo articolo.

Siamo passati perché è diventato sempre più doloroso mantenere i file di progetto per 30+ costruire obiettivi e x compilatori. CMake ci dà la possibilità di supportare alternative IDE, come Code :: Blocks, Qt Creator ed Eclipse CDT. Il compilatore principale è ancora MS VC9 Express, comunque. Ma pianifichiamo per il futuro un processo di costruzione Windows senza software di compilazione proprietario.

CMake

Il primo passo per creare FreeCAD con CMake è configurare l'ambiente. Là sono due modi per farlo:

  • Utilizzo di LibPack
  • Installare tutte le librerie necessarie e lasciare che CMake le trovi


Il seguente processo presuppone che stai usando LibPack. La seconda opzione può essere discussa nel Options for the Build Process.

Configure CMake using GUI

  • Apri la GUI di CMake
  • Specificare la cartella di origine
  • Specificare la cartella di build
  • Clicca Configura
  • Specifica il generatore in base all'IDE che utilizzerai.


This will begin configuration and should fail because the location of FREECAD_LIBPACK_DIR is unset.

  • Expand the FREECAD category and set FREECAD_LIBPACK_DIR to the correct location
  • Check FREECAD_USE_EXTERNAL_PIVY
  • Optionally Check FREECAD_USE_FREETYPE this is required to use the Draft WB's Shape String functionality
  • Click Configure again
  • There should be no errors
  • Click Generate
  • Close CMake
  • Copy libpack\bin folder into the new build folder CMake created

Opzioni per il processo di compilazione

Il sistema di build CMake ci offre molta più flessibilità durante il processo di costruzione. Questo significa possiamo attivare e disattivare alcune funzioni o moduli. È come la compilazione del kernel di Linux. Hai un sacco di opzioni per determinare il processo di compilazione.

Ecco la descrizione di alcuni di questi interruttori. Molto probabilmente cambieranno molto in futuro perché vogliamo aumentare la flessibilità di costruzione molto di più.


Link table
Variable name Description Default
FREECAD_LIBPACK_USE Switch the usage of the FreeCAD LibPack on or off On Win32 on, otherwise 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

Se stai costruendo con Qt Creator, vai a Costruire con Qt Creator, altrimenti procedere a Costruire con Visual Studio 9 2008.

Costruzione di FreeCAD

A seconda della configurazione corrente, il processo di creazione di FreeCAD sarà leggermente diverso. Ciò è dovuto alle differenze nelle versioni software e software disponibili per ciascun sistema operativo.


La seguente procedura funzionerà per la compilazione su Windows Vista / 7/8, per XP è necessario un set di strumenti VS alternativo per VS 2012 e 2013, che non è stato testato con successo con gli attuali Libpacks. Per targetizzare XP (entrambi x32 e x64) si consiglia di utilizzare VS2008 e Libpack FreeCADLibs_11.0_x86_VC9.7z

Costruire con Visual Studio 12 2013

Assicurati di specificare Visual Studio 12 x64 (o il C-Compiler alternativo che stai utilizzando) come generatore in CMake prima di continuare.

  • Avviare Visual Studio 12 2013 facendo clic sull'icona del desktop creata durante l'installazione.
  • Apri il progetto da:

File → Open → Project/Solution

  • Aprire FreeCAD_Trunk.sln dalla cartella di creazione creata da CMake
  • Passa al menu a discesa Configurazione soluzioni in alto a Rilascia X64

Questo potrebbe richiedere del tempo a seconda del sistema

  • Build → Build Solution
  • Ci vorrà molto tempo ...

Se non ricevi errori, hai finito. Uscire da Visual Studio e avviare FreeCAD facendo doppio clic sull'icona di FreeCAD nella cartella bin della directory di build.


Costruire con Visual Studio 9 2008

Avvertenza

Dall'inizio del ciclo 0.17 Freecad utilizza le funzioni di c++11 che non sono supportate dalla versione 2008



Costruire con Qt Creator

Installazione e configurazione di Qt Creator

  • Scarica e installa Qt Creator
  • Strumenti → Opzioni → Editor di testo → scheda Comportamento:
    • Codifica dei file → Codifiche predefinite:
    • Impostato su: ISO-8859-1 /...csISOLatin1 (Alcuni caratteri creano errori / avvertimenti con Qt Creator se lasciato impostato su UTF-8. Questo sembra risolverlo.)
  • Strumenti → Opzioni → Crea ed esegui:
    • Scheda CMake
      • Riempi la casella Eseguibile con il percorso di cmake.exe
    • Scheda Kit
      • Nome: MSVC 2008
      • Compilatore: Microsoft Visual C++ Compiler 9.0 (x86)
      • Debugger: rilevato automaticamente ...
      • Versione Qt: Nessuna
    • Scheda Generale
      • Deselezionare: crea sempre un progetto prima di distribuirlo
      • Deselezionare: distribuire sempre il progetto prima di eseguirlo

Importa progetto e crea

  • File → Apri file o progetto
  • Apri CMakeLists.txt che si trova nel livello più alto della fonte
  • Questo avvierà CMake
  • Scegli la cartella di costruzione e fai clic su Avanti
  • Imposta generatore su NMake Generator (MSVC 2008)
  • Clicca Esegui CMake. Segui le istruzioni illustrate sopra per configurare CMake a tuo piacimento.

Ora è possibile creare FreeCAD

  • Build → Build All
  • Ci vorrà molto tempo ...

Una volta completato, può essere eseguito: Ci sono 2 triangoli verdi in basso a sinistra. Uno è il debug. L'altro è eseguito. Scegli quello che vuoi.


Configurazione della riga di comando

Ecco un esempio su come creare FreeCAD dalla riga di comando:

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

Costruire versioni precedenti

utilizzando LibPack

Per rendere più semplice la compilazione di FreeCAD, forniamo una raccolta di tutti librerie necessarie Si chiama LibPack. Puoi trovarlo sulla download page su sourceforge.

È necessario impostare le seguenti variabili di ambiente:

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

Add "%FREECADLIB%\bin" e "%FREECADLIB%\dll" alla variabile "PATH" del sistema. Ricordare che è necessario sostituire "%FREECADLIB%" con il nome del percorso, poiché Windows non sostituisce in modo ricorsivo le variabili di ambiente.

Configurazione della directory in Visual Studio

È necessario impostare un percorso di ricerca di Visual Studio. Per cambiarli, usa il menu Tools → Options → Directory

Includes

Aggiungi il seguente percorso di ricerca all'elenco di ricerca del percorso di inclusione:

  • %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

Aggiungi il seguente percorso di ricerca all'elenco di ricerca del percorso lib:

  • %FREECADLIB%\lib
Executables

Aggiungi il seguente percorso di ricerca all'elenco di ricerca del percorso eseguibile:

  • %FREECADLIB%\bin
  • Directory di installazione binaria TortoiseSVN, di solito "C:\Programm Files\TortoiseSVN\bin", questo è necessario per una build di distribuzione quando SubWVRev.exe è usato per estrarre il numero di versione da Subversion.

Python needed

During the compilation some Python scripts get executed. So the Python interpreter has to function on the OS. Use a command box to check it. If the Python library is not properly installed you will get an error message like Cannot find python.exe. If you use the LibPack you can also use the python.exe in the bin directory.

Special for VC8

When building the project with VC8, you have to change the link information for the WildMagic library, since you need a different version for VC6 and VC8. Both versions are supplied in LIBPACK/dll. In the project properties for AppMesh change the library name for the wm.dll to the VC8 version. Take care to change it in Debug and Release configuration.

Compile

After you conform to all prerequisites the compilation is - hopefully - only a mouse click in VC

After Compiling

To get FreeCAD up and running from the compiler environment you need to copy a few files from the LibPack to the bin folder where FreeCAD.exe is installed after a successful build:

  • 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

When using a LibPack with a Python version older than 2.5 you have to copy two further files:

  • zlib.pyd and zlib_d.pyd from LIBPACK/bin/lib. This is needed by python to open the zipped python library.
  • _sre.pyd and _sre_d.pyd from LIBPACK/bin/lib. This is needed by python for the built in help system.

If you don't get it running due to a Python error it is very likely that one of the zlib*.pyd files is missing.

Alternatively, you can copy the whole bin folder of libpack into bin folder of the build. This is easier, but takes time and disk space. This can be substited by making links instead of copying files, see CompileOnWindows - Reducing Disk Footprint.

Additional stuff

If you whant to build the source code documentation you need DoxyGen.

To create an intstaller package you need WIX.

During the compilation some Python scripts get executed. So the Python interpreter has to work properly.

For more details have also a look to README.Linux in your sources.

First of all you should build the Qt plugin that provides all custom widgets of FreeCAD we need for the Qt Designer. The sources are located under

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

So far we don't provide a makefile -- but calling

qmake plugin.pro

creates it. Once that's done, calling make will create the library

//libFreeCAD_widgets.so//.

To make this library known to your Qt Designer you have to copy the file to

//$QTDIR/plugin/designer//.

References