Компиляция MinGW
Так же вы можете попробовать другие способы компиляции.
В данном руководстве будут рассмотрены шаги, необходимые для сборки FreeCAD в Windows с использованием среды MSYS2/MinGW. Базовые знания команд оболочки Bash будут полезны для понимания того, что происходит на каждом этапе сборки. Тщательное следование руководству по пунктам, должно привести вас к созданию рабочей сборки, даже если вы не полностью понимаете, что вы сделали, чтобы получить ее.
Прежде чем вы начнете
Загрузите и установите MSYS2, если вы еще этого не сделали. При запуске MSYS2 используйте 64-разрядную среду выполнения MSYS2 MinGW, если вы не знаете, что делаете, и у вас нет конкретной причины этого не делать. Если вы используете консоль UCRT, убедитесь, что ваша инсталляция адаптирована для использования пакетов UCRT вместо этого.
pacman -Syu
после чего перезапустите и запустите
pacman -Su
прежде чем продолжить.
Установка основных средств разработки
Во всех следующих шагах, если оболочка MSYS2 будет предлагать установки по умолчанию, для всех случаев дайте согласие нажав "Enter", когда вас спросят.
Во-первых, установите набор инструментов mingw-w64 GCC:
pacman -S --needed base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja
Это, вероятно, займет несколько минут, так как набор инструментов компилятора довольно велик.
Установите git:
pacman -S git
Закройте текущее окно консоли и перезапустите консоль MSYS2 MinGW 64 (в стандартной установке это будет в меню "Пуск" в папке MSYS2).
Загрузка исходников FreeCAD
Чтобы получить исходный код FreeCAD, клонируйте его из основного репозитория git:
git clone https://github.com/FreeCAD/FreeCAD
Если вы не хотите компилировать последнюю версию HEAD, как только у вас будет исходный код, вы можете проверить конкретный тег:
cd FreeCAD git checkout tags/0.19.2 -b releases/FreeCAD-0-19
Или конкретный pull request (в данном примере PR 1234):
cd FreeCAD git fetch origin pull/1234/head:pr/1234 git checkout pr/1234
Установка необходимых библиотек
FreeCAD включает в свою сборку много сторонних библиотек. Они могут быть установлены по отдельности или в виде единой унифицированной команды. Обновление этого списка является текущей текущей работой этой документации: чтобы помочь, повторно выполните команду cmake из следующего раздела и установите любой следующий пакет, в котором он ошибается. На момент написания этой статьи возникла проблема с pacman-installed OpenCASCADE пакетом.
- mingw-w64-x86_64-opencascade
Чтобы устранить текущую (9/11/2021) проблему с установкой OpenCascade, необходимо изменить установленные файлы конфигурации CMake для библиотеки. В файлах /mingw64/lib/cmake/opencascade/*-release.cmake удалите все вхождения строки
\${OCCT_INSTALL_BIN_LETTER}
(Обратите внимание на начальную обратную косую черту-этот символ должен быть удален вместе со ссылкой на переменную).
Теперь установите следующие необходимые зависимости с помощью pacman:
- mingw-w64-x86_64-xerces-c
- mingw-w64-x86_64-qt5
- mingw-w64-x86_64-med
- mingw-w64-x86_64-swig
- mingw-w64-x86_64-qtwebkit
- mingw-w64-x86_64-coin
- mingw-w64-x86_64-python-pivy
- mingw-w64-x86_64-python-ply
- mingw-w64-x86_64-python-six
- mingw-w64-x86_64-python-yaml
- mingw-w64-x86_64-python-numpy
- mingw-w64-x86_64-python-matplotlib
- mingw-w64-x86_64-pyside2-qt5
The following is a single command to install everything but OpenCASCADE:
pacman -S mingw-w64-x86_64-xerces-c mingw-w64-x86_64-qt5 mingw-w64-x86_64-med mingw-w64-x86_64-swig mingw-w64-x86_64-qtwebkit mingw-w64-x86_64-coin mingw-w64-x86_64-python-pivy mingw-w64-x86_64-pyside2-qt5 mingw-w64-x86_64-python-python-ply mingw-w64-x86_64-python-six mingw-w64-x86_64-python-yaml mingw-w64-x86_64-python-numpy mingw-w64-x86_64-python-matplotlib
Build FreeCAD
Make a directory for the build: note this is typically not a subdirectory of the source directory (it is often useful to be able to delete either the source or the build directory independently).
mkdir FreeCAD-build cd FreeCAD-build
Run cMake:
cmake ../FreeCAD
And finally:
cmake --build ./
- Начинающим
- Установка: Загрузка, Windows, Linux, Mac, Дополнительных компонентов, Docker, AppImage, Ubuntu Snap
- Базовая: О FreeCAD, Интерфейс, Навигация мыши, Методы выделения, Имя объекта, Настройки, Верстаки, Структура документа, Свойства, Помоги FreeCAD, Пожертвования
- Помощь: Учебники, Видео учебники
- Верстаки: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework