Compilazione in Windows
Questo articolo spiega passo dopo passo come compilare FreeCAD 0.18 o superiore su Windows. Per altre piattaforme vedere la pagina Compilazione.
Prerequisiti
Innanzitutto è necessario installare le seguenti librerie e programmi richiesti:
Programmi richiesti
- A compiler. FreeCAD is tested with Visual Studio (MSVC)—other compilers may work, but instructions for use are not included here. Fore more details, see the section Compiler below.
- Git Ci sono una serie di alternative come GitCola, Tortoise Git, e altri.
- CMake versione 3.11.x - 3.17.x. Nota: Di solito non si può prendere l'ultima versione di CMake. Pertanto, utilizzare solo una versione di CMake nell'intervallo specificato in questa pagina!
- LibPack (chiamato anche FreeCADLibs). Questo è un insieme di librerie necessarie per compilare FreeCAD su Windows. A seconda della versione di FreeCAD che vuoi compilare, devi scaricare il LibPack corrispondente. Ad esempio per compilare FreeCAD 0.18, scarica la versione a 32 bit o 64 bit di LibPack for 0.18, per compilare l'ultima versione di sviluppo 0.19, scaricare il LibPack for 0.19 (esiste solo una versione a 64 bit).
Programmi opzionali
- Un frontend GUI per Git. Ci sono diversi frontend disponibili, vedi this list. Il vantaggio principale di un frontend è che non devi imparare i comandi Git per ottenere il codice sorgente di FreeCAD o per inviare patch al repository GitHub di FreeCAD.
Di seguito descriviamo la gestione del codice sorgente usando il frontend TortoiseGit. Questo frontend si integra direttamente con Esplora file di Windows e dispone di una grande comunità di utenti per ricevere assistenza in caso di problemi.
Codice sorgente
Ora puoi ottenere il codice sorgente di FreeCAD:
Utilizzo di un frontend
Quando si utilizza il Git frontend TortoiseGit:
- Crea una nuova cartella in cui dovrebbe essere il codice sorgente.
- Fare clic con il tasto destro su questa cartella in Esplora file di Windows e selezionare nel menu contestuale Git Clone.
- Apparirà una finestra di dialogo. Usa lì come URL per il repository di FreeCAD
https://github.com/FreeCAD/FreeCAD.git
e clicca OK.
Ora il codice sorgente viene scaricato e la sua cartella diventa una cartella tracciata da Git.
Usando la riga di comando
Per creare un ramo locale e scaricare il codice sorgente è necessario aprire un terminale (prompt dei comandi) e portarsi nella directory in cui si desidera creare il sorgente, quindi digitare:
git clone https://github.com/FreeCAD/FreeCAD.git
Compilatore
Il compilatore predefinito (consigliato) è MS Visual Studio (MSVC). Sebbene possa essere possibile utilizzare altri compilatori utilizzando Cygwin o MinGW gcc, non è stato testato o portato finora.
Puoi ottenere una versione gratuita di MSVC (per l'utilizzo di OpenSource) scaricando l'edizione "Community" di MS Visual Studio. Per fare ciò, utilizzare questo URL
Per chi vuole evitare l'installazione completa dell'ingombrante MSVC al solo scopo di avere un compilatore può vedere Compilare in Windows - Occupare meno spazio.
Nota: Nonostante l'edizione Community di MSVC sia gratuita, è necessario creare un account Microsoft dall'IDE MSVC che è possibile utilizzare l'IDE per più di 30 giorni. Se compilerai solo usando la riga di comando, non hai bisogno dell'IDE e quindi non hai un account Microsoft.
Come IDE alternativo gratuito e OpenSource puoi usare KDevelop. Puoi usare KDevelop per modificare e scrivere codice C ++ ma devi usare la riga di comando per compilare.
Optional System Path Configuration
programmi in queste cartelle dalla riga di comando / powershell o se si desidera trovare programmi speciali da parte del compilatore o di CMake. Oltre a ciò, potrebbe essere necessario aggiungere cartelle al PERCORSO se non si sono utilizzate le opzioni corrispondenti durante l'installazione del programma.
- Puoi includere la cartella del tuo LibPack nella variabile PATH del tuo sistema. Ciò è utile se prevedi di creare più configurazioni / versioni di FreeCAD.
- Se non hai utilizzato l'opzione per aggiungere CMake al PERCORSO durante l'installazione, aggiungi la sua cartella di installazione
C:\Program Files\CMake\bin to the PATH.
- Se non hai utilizzato l'opzione per aggiungere TortoiseGit al PERCORSO durante l'installazione, aggiungi la sua cartella di installazione
C:\Program Files\TortoiseGit\bin to the PATH.
Per aggiungere percorsi di cartelle alla variabile PATH:
- Nel menu Start di Windows, fai clic con il pulsante destro del mouse su "Computer" e scegli "Proprietà".
- Nella finestra di dialogo visualizzata, fai clic su "Impostazioni di sistema avanzate".
- Si aprirà un'altra finestra di dialogo. Fare clic lì nella scheda Avanzate in Variabili d'ambiente.
- Ancora una volta si aprirà un'altra finestra di dialogo. Seleziona quindi la variabile Percorso e fai clic su Modifica.
- E di nuovo si aprirà un'altra finestra di dialogo. Fai clic su Nuovo e aggiungi al percorso la cartella di Git o LibPack.
- Infine premi OK e chiudi tutte le finestre di dialogo premendo anche OK.
Configurazione
Once you have all of the necessary tools, libraries, and FreeCAD source code, you are ready to begin the configuration and compilation process. This process will proceed in five steps:
- Run CMake once to examine your system and begin the configuration progress (this will report that it failed).
- Adjust necessary CMake settings to set the locations of the LibPack and enable Qt5.
- Re-run CMake to finalize the configuration (this time it should succeed).
- Use CMake to generate the Visual Studio build system.
- Use Visual Studio to build FreeCAD.
CMake
Ora devi configurare l'ambiente di compilazione usando CMake:
- Apri la GUI di CMake
- Specificare lì la cartella di origine di FreeCAD
- Specifica la cartella di creazione che hai appena creato nel passaggio precedente.
- Fai clic su Configura
- Nella finestra di dialogo visualizzata specificare il generatore in base a quello che si desidera utilizzare. Per MS Visual Studio standard usa Visual Studio xx 2yyy dove xx è la versione del compilatore e 2yyy l'anno della sua uscita. Si consiglia di utilizzare l'opzione predefinita Usa compilatori nativi predefiniti.
Nota: È importante specificare la variante di bit corretta. Se hai la variante a 64 bit di LibPack devi usare anche il compilatore x64.
Questo avvierà la configurazione e fallirà a causa delle impostazioni mancanti.
Se non riesce con il messaggio che Visual Studio non è stato trovato, il supporto CMake in MSVC non è ancora installato. Per farlo:
- Apri l'IDE MSVC
- Utilizza il menu Strumenti → Ottieni strumenti e funzionalità
- Nella scheda Carichi di lavoro abilita Sviluppo desktop con C++
- Sul lato destro ora dovresti vedere che il componente Strumenti Visual C++ per CMake sarà installato.
- Installalo.
If it fails with a message about the wrong Python version or missing Python, then:
- Use the "Search:" box in CMake to search for the string "Python"
- If you see there a path like C:/Program Files/Python38/python.exe, CMake recognized the Python that is already installed on your PC, but that version is not compatible with the LibPack. Since the LibPack includes a compatible version of Python, modify the following Python settings in CMake to its paths (assuming the LibPack is in the folder D:\FreeCAD-build\FreeCADLibs_12.5.2_x64_VC17):
Se non si verificano errori in Visual Studio o Python, va tutto bene, ma CMake non conosce ancora tutte le impostazioni necessarie. Pertanto ora:
- Assicurati che l'opzione di ricerca Avanzate sia selezionata.
- Cerca in CMake la variabile FREECAD_LIBPACK_DIR e specifica la posizione corretta nella cartella LibPack.
- Cerca la variabile BUILD_QT5 e abilita questa opzione.
- Fai di nuovo clic su Configura
Ora non dovrebbero esserci errori. In tal caso, fai clic su Genera. Al termine, è possibile chiudere CMake e continuare ad avviare la compilazione di FreeCAD. Tuttavia, per la prima compilazione tienilo aperto per il caso che desideri o devi modificare alcune opzioni per il processo di compilazione:
Note: When compiling FreeCAD 0.19, the CMake variable BUILD_ENABLE_CXX_STD will be set to C++14 while for FreeCAD 0.20 it will be set to C++17. This is because FreeCAD 0.20 requires at least the C++ language standard version 17. So when you compiled the last time FreeCAD 0.19 it is necessary to re-run CMake for FreeCAD 0.20 to change the C++ language standard.
Opzioni per il processo di compilazione
Il sistema di generazione CMake offre la flessibilità necessaria per il processo di creazione. Ciò significa che è possibile attivare e disattivare alcune funzionalità o moduli tramite le variabili CMake.
Ecco una descrizione di alcune di queste variabili:
Nome variabile | Descrizione | Predefinito | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BUILD_XXX | Crea FreeCAD con il componente XXX. Se non si desidera / è necessario compilare ad es. il workbench OpenSCAD, disabilita la variabile BUILD_OPENSCAD. FreeCAD non avrà quindi questo banco di lavoro.
Costruzione di FreeCADA seconda del compilatore, il processo per la creazione di FreeCAD sarà leggermente diverso. Nelle sezioni seguenti sono descritti i flussi di lavoro noti. Se stai costruendo con Qt Creator, passa a Building with Qt Creator, altrimenti procedi direttamente: Compilare con Visual Studio 15 2017, e Visual Studio 16 2019Release Build
Per compilare un FreeCAD pronto all'uso, compila la destinazione INSTALLA , vedi sezione Running and installing FreeCAD. Se non ricevi errori, hai finito. Congratulazioni! Puoi uscire da MSVC o tenerlo aperto. Note: FreeCAD 0.20 requires at least the C++ language standard version 17 but the 3rd-party component flann from the LibPack is not yet ready for this. Therefore you will get compilation errors for the target ReverseEngineering. To fix this, right-click on this target in the MSVC solution explorer and select in the context menu the last entry Properties. In the appearing dialog change the C++ Language Standard to ISO C++14. Finally build the target ALL_BUILD again. Debug BuildFor a debug build it is necessary that the Python is used that is included in the LibPack. To assure this:
Now
This will now take quite a long time. If there were no compilation errors, you can start the debug build:
This will start the debug build of FreeCAD and you can use the MSVC IDE to debug it. Video ResourceAn English language tutorial that begins with configuration in CMake Gui and continues to the `Build` command in Visual Studio 16 2019 is available unlisted on YouTube at Tutorial: Build FreeCAD from source on Windows 10. Costruire con Qt Creator (obsoleto)Installazione e configurazione di Qt Creator
Importa progetto e crea
Ora è possibile creare FreeCAD
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 comandoI passaggi su come compilare dalla riga di comando dipendono dal compilatore. Per MSVC 2017 i passaggi sono:
msbuild ALL_BUILD.vcxproj /p:Configuration=Release
o msbuild INSTALL.vcxproj /p:Configuration=Release
Questi passaggi possono anche essere automatizzati. Ecco ad esempio una soluzione per MSVC 2017:
compile-FC install
Invece di chiamare compile-FC con l'opzione installa puoi anche usare debug o release: debug - compila FreeCAD nella configurazione di debug release - compilare FreeCAD nella configurazione della versione install - compilare FreeCAD nella configurazione di rilascio e creare un'installazione di installazione Esecuzione e installazione di FreeCADEsistono 2 metodi per eseguire FreeCAD compilato: Metodo 1: Esegui FreeCAD.exe che trovi nella cartella di compilazione nella sottocartella bin Metodo 2: costruisci il target INSTALL Il metodo 2 è quello più semplice perché assicura automaticamente che tutte le librerie necessarie per eseguire FreeCAD.exe siano nella cartella corretta. FreeCAD.exe e le librerie verranno emessi nella cartella specificata nella variabile CMakeCMAKE_INSTALL_PREFIX. Per il Metodo 1 devi mettere le librerie nella cartella bin della tua cartella di build (dove si trova FreeCAD.exe). Questo può essere fatto facilmente:
TroubleshootingWhen running FreeCAD you may encounter missing DLLs when using certain workbenches or features of workbenches. The error message in FreeCAD's console will not tell you what DLL is missing. To find this out you must use an external tool:
import os os.system(r"~\DependenciesGui.exe") Note: Instead of the ~ you must specify the full path to the DependenciesGui.exe on your system.
Aggiornamento della buildFreeCAD è sviluppato molto attivamente. Pertanto il suo codice sorgente cambia quasi quotidianamente. Nuove funzionalità vengono aggiunte e i bug corretti. Per beneficiare di queste modifiche al codice sorgente, è necessario ricostruire FreeCAD. Questo avviene in due fasi:
Aggiornamento del codice sorgenteUsando un frontendQuando si utilizza il Git frontend TortoiseGit:
Finalmente clicca OK. Utilizzando la riga di comandoApri un terminale (prompt dei comandi) e passa alla directory di origine. Quindi digitare: git pull https://github.com/FreeCAD/FreeCAD.git master
dove master è il nome del ramo di sviluppo principale. Se vuoi ottenere il codice da un altro ramo, usa il suo nome invece di master. Ricompilazione
Updating the LibPackIf a new major version of a third-party dependency like Open Cascade is released, or if a third-party dependency has important bug fixes, a new LibPack is released. You can find the latest version here. To update your LibPack the following recipe is best practice:
ToolsIn order to join the FreeCAD development you should compile and install the following tools: Qt Designer pluginFreeCAD uses Qt as toolkit for its user interface. All dialogs are setup in UI-files that can be edited using the program Qt Designer that is part of any Qt installation and also included in the LibPack. FreeCAD has its own set of Qt widgets to provide special features like adding a unit to input fields and to set preferences properties. CompilationThe plugin cannot be loaded by the Qt Designer if it was compiled using another Qt version than the one your Qt Designer/Qt Creator is based on. Therefore the plugin must be compiled together with FreeCAD:
As result you will get the plugin file 'FreeCAD_widgets.dll in the folder InstallationTo install the plugin, copy it to either:
Finally (re)start Qt Designer and check its menu Help → Plugins. If the plugin FreeCAD_widgets.dll is listed as being loaded, you can now design and change FreeCAD's .ui files. If not, you must compile the DLL by yourself. If you prefer using Qt Creator instead of Qt Designer, the plugin file must be placed in this folder: Thumbnail ProviderFreeCAD has the feature to provide preview thumbnails for *.FCStd files. That means that in the Windows file explorer *.FCStd files are shown with a screenshot of the model it contains. To provide this feature, FreeCAD needs to have the file FCStdThumbnail.dll installed to Windows. InstallationThe DLL is installed this way:
So check if it works, assure that in FreeCAD the preferences option Save thumbnail into project file when saving document is enabled and save a model. Then view in Windows Explorer the folder of the saved model using a symbol view. You should now see a screenshot of the model in the folder view. CompilationTo compile the FCStdThumbnail.dll
Compiling Open CascadeThe LibPack comes with a version of Open Cascade that is suitable for general use. However, under some circumstances you may wish to compile against an alternate version of Open Cascade, such as one of their official releases, or a patched fork. When compiling Open Cascade for FreeCAD note that there is no guarantee that FreeCAD will work with all versions of Open Cascade. Note also that when you are using the Netgen library, you must use the a NetGen version that it approved to compile with the Open Cascade version you like to compile. To compile:
To build FreeCAD using the self-compiled Open Cascade, you must do the following:
Compiling NetgenThe LibPack comes with a version of Netgen that will was tested to be build with the Open Cascade version of the LibPack. The problem is that every new release of Netgen changes the API. Also every new release of Open Cascade does the same. Therefore one cannot just easily change the Netgen version. However, you might build Netgen nevertheless. This is an easy task:
name: CMAKE_DEBUG_POSTFIX, type: string, content: _d
To build FreeCAD using the self-compiled Netgen, you must do the following:
Riferimenti
User documentation
|