Компиляция MinGW

From FreeCAD Documentation
Revision as of 13:01, 2 October 2021 by Evgeniy (talk | contribs) (Created page with "Ниже приведена одна команда для установки всего, кроме OpenCascade:")
Other languages:
(2021) Переписывание данной страницы находится на ранней стадии. Вы можете помочь в написании данной страницы!
Так же вы можете попробовать другие способы компиляции.

В данном руководстве будут рассмотрены шаги, необходимые для сборки 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

Ниже приведена одна команда для установки всего, кроме 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 ./