Compile on Windows/it

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


 * Vedere anche Compilare in Windows con Visual Studio 2013
 * Velocizzare la compilazione

Prerequisiti
At first you must install the following required programs ad libraries:

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)

Optional programs

 * Python 3.x. A separate python installation is not mandatory since the LibPack contains Python. However, to be able to test later your FreeCAD build it is useful to have a standalone Python installation. It is recommended to use not the latest version, but the prior version (e.g. not Python 3.7 but 3.6).
 * TortoiseGit. This is a graphic frontend for Git. It will integrate directly to Windows file explorer. The main benefit is that you don't have to learn the Git commands to get the soure code of FreeCAD or to send patches to the Github repository of FreeCAD.

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:

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.

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 `;`

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

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.

Questo inizierà la configurazione e dovrebbe fallire perché la posizione di FREECAD_LIBPACK_DIR è disinserito.
 * Espandi la categoria FREECAD e imposta FREECAD_LIBPACK_DIR nella posizione corretta
 * Check FREECAD_USE_EXTERNAL_PIVY
 * Facoltativamente Check FREECAD_USE_FREETYPE questo è necessario per utilizzare la funzionalità String di forma di Draft WB
 * Clic Configure ancora
 * Non ci dovrebbero essere errori
 * Clic Generate
 * Chiudi CMake
 * Copia cartella libpack\bin nella nuova cartella di creazione creata da CMake

There should now be no errors. If yes, click on Generate. After this is done you could close CMake and continue to start the compilation of FreeCAD. However, for the first compilation keep it open for the case that you wnat or need to change some options for the build process:

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

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.

File → Open → Project/Solution
 * Apri il progetto da:


 * Aprire FreeCAD_Trunk.sln dalla cartella di creazione creata da CMake

Questo potrebbe richiedere del tempo a seconda del sistema
 * Passa al menu a discesa Configurazione soluzioni in alto a Rilascia X64


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

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:

Running and installing FreeCAD
There are 2 methods to run the compiled FreeCAD:
 * 1) You execute the FreeCAD.exe that you find in your build folder in the subfolder bin
 * 2) You build the target INSTALL

Method 2 is the simpler one because it automatically assures that all libraries needed to run the FreeCAD.exe are in the correct folder. The FreeCAD.exe and the libraries will be output in the folder you specified in the CMake variable CMAKE_INSTALL_PREFIX. For FreeCAD 0.19 there is currently only one issue that requires your action: This adds the necessary style to make FreeCAD look like a normal Win 10 program, otherwise it looks like in Windows 98.
 * 1) Download the file qwindowsvistastyle.zip from the FreeCAD forum.
 * 2) Create a new subfolder named styles in the bin folder.
 * 3) Extract the ZIP-file to this folder.

For Method 1 you need to put the libraries into the bin folder of your build folder (where the FreeCAD.exe is). This can easily be done, by using the CMake variable option FREECAD_COPY_LIBPACK_BIN_TO_BUILD.

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 necessario
Durante la compilazione vengono eseguiti alcuni script Python. Quindi il Python l'interprete deve funzionare sul sistema operativo. Utilizzare una casella di comando per controllarlo. Se la libreria Python non è installata correttamente si otterrà un messaggio di errore come "Impossibile trovare python.exe". Se usi LibPack puoi anche usare il Python.exe nella directory bin.

Special for VC8
Quando si crea il progetto con VC8, è necessario modificare le informazioni sul collegamento per la libreria WildMagic, poiché è necessaria una versione diversa per VC6 e VC8. Entrambe le versioni sono fornite in LIBPACK/dll. Nelle proprietà del progetto per AppMesh cambia il nome della libreria per il wm.dll alla versione VC8. Fai attenzione a cambiarlo in Debug e Rilascia configurazione.

Compilare
Dopo esserti conformato a tutti i prerequisiti, la compilazione è - hopefully - only a mouse click in VC

Dopo la compilazione
Per far partire FreeCAD dall'ambiente del compilatore è necessario copiare alcuni file da LibPack nella cartella bin in cui FreeCAD.exe è installato dopo una compilazione avvenuta con successo:


 * python.exe e python_d.exe from LIBPACK/bin
 * python25.dll e python25_d.dll a partire dal LIBPACK/bin
 * python25.zip a partire dal LIBPACK/bin
 * fare una copia di Python25.zip e rinominalo Python25_d.zip
 * QtCore4.dll a partire dal LIBPACK/bin
 * QtGui4.dll a partire dal LIBPACK/bin
 * boost_signals-vc80-mt-1_34_1.dll a partire dal LIBPACK/bin
 * boost_program_options-vc80-mt-1_34_1.dll a partire dal LIBPACK/bin
 * xerces-c_2_8.dll a partire dal LIBPACK/bin
 * zlib1.dll a partire dal LIBPACK/bin
 * coin2.dll a partire dal LIBPACK/bin
 * soqt1.dll a partire dal LIBPACK/bin
 * QtOpenGL4.dll a partire dal LIBPACK/bin
 * QtNetwork4.dll a partire dal LIBPACK/bin
 * QtSvg4.dll a partire dal LIBPACK/bin
 * QtXml4.dll a partire dal LIBPACK/bin

Quando si utilizza LibPack con una versione di Python precedente alla 2.5 devi copiare altri due file:
 * zlib.pyd e zlib_d.pyd from LIBPACK/bin/lib. Questo è richiesto da python per aprire la libreria Python zippata.
 * _sre.pyd e _sre_d.pyd from LIBPACK/bin/lib. Questo è richiesto da Python per il sistema di aiuto integrato.

Se non lo si esegue a causa di un errore di Python, è molto probabile che manchi uno dei file zlib*.pyd.

In alternativa, puoi copiare l'intera cartella bin di libpack nella cartella bin della build. Questo è più semplice, ma richiede tempo e spazio su disco. Questo può essere sostituito facendo collegamenti invece di copiare file, vedi CompileOnWindows - Reducing Disk Footprint.

Altre cose
Se si desidera creare la documentazione del codice sorgente necessaria DoxyGen.

Per creare un pacchetto di installazione che ti serve WIX.

Durante la compilazione vengono eseguiti alcuni script Python. Quindi l'interprete Python deve funzionare correttamente.

Per ulteriori dettagli è inoltre possibile consultare "README.Linux" nelle origini.

Prima di tutto dovresti creare il plugin Qt che fornisce tutti i widget personalizzati di FreeCAD di cui abbiamo bisogno per Qt Designer. Le fonti si trovano sotto.

Finora non forniamo un makefile -- ma chiamiamo

lo crea. Una volta fatto, chiamare "make" creerà la libreria

Per rendere questa libreria nota al tuo "Qt Designer" devi copiare il file in