Compile on MinGW/ru: Difference between revisions

From FreeCAD Documentation
(Created page with "Во-первых, установите набор инструментов mingw-w64 GCC:")
(Updating to match new version of source page)
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{VeryImportantMessage|(2021) Переписывание данной страницы находится на ранней стадии. Вы можете помочь в написании данной страницы!
<br>Так же вы можете попробовать другие [[Compiling/ru|способы компиляции]].}}


{{TOCright}}
{{TOCright}}
Line 34: Line 31:
</pre>
</pre>


Это, вероятно, займет несколько минут, так как набор инструментов компилятора довольно велик.
This will probably take several minutes to complete, as the compiler toolchain is quite large.


Установите git:
Install git:


<pre>
<pre>
Line 42: Line 39:
</pre>
</pre>


Закройте текущее окно консоли и перезапустите консоль MSYS2 MinGW 64 (в стандартной установке это будет в меню "Пуск" в папке MSYS2).
Close your current console window and relaunch the MSYS2 MinGW 64 console (in a standard installation this will be in your Start menu in the MSYS2 folder).


=== Check out the FreeCAD sources ===
=== Загрузка исходников FreeCAD ===


Чтобы получить исходный код FreeCAD, клонируйте его из основного репозитория git:
To get the FreeCAD source code, clone it from the main git repository:


<pre>
<pre>
Line 52: Line 49:
</pre>
</pre>


Если вы не хотите компилировать последнюю версию HEAD, как только у вас будет исходный код, вы можете проверить конкретный тег:
If you do not want to compile the latest HEAD, once you have the source you can check out a specific tag:


<pre>
<pre>
cd FreeCAD
cd FreeCAD
git checkout tags/0.19.2 -b releases/FreeCAD-0-19
git checkout tags/1.0 -b releases/FreeCAD-1-0
</pre>
</pre>


Or a specific pull request (in this example, PR 1234):
Или конкретный pull request (в данном примере PR 1234):


<pre>
<pre>
Line 67: Line 64:
</pre>
</pre>


Note that not all versions can be compiled on MSYS2, several changes were required to enable it and these were not present in the 0.19 or earlier versions. For example, the 0.19.3 tag will not be compilable.
=== Install required libraries ===


=== Установка необходимых библиотек ===
FreeCAD depends on many 3rd-party libraries for its functionality. They may be installed individually, or as a single unified command. Updating this list is the current ongoing work of this documentation: to help, repeatedly run the cmake command from the next section, and install whatever the next package is that it errors on. As of this writing there is a problem with the pacman-installed OpenCASCADE package.


<div class="mw-translate-fuzzy">
* mingw-w64-x86_64-opencascade
FreeCAD включает в свою сборку много сторонних библиотек. Они могут быть установлены по отдельности или в виде единой унифицированной команды. Обновление этого списка является текущей текущей работой этой документации: чтобы помочь, повторно выполните команду cmake из следующего раздела и установите любой следующий пакет, в котором он ошибается. На момент написания этой статьи возникла проблема с pacman-installed OpenCASCADE пакетом.
</div>


Теперь установите следующие необходимые зависимости с помощью pacman:
To resolve the current (9/11/2021) problem with the OpenCASCADE installation, it is necessary to modify the installed cMake configuration files for the library. In the files /mingw64/lib/cmake/opencascade/*-release.cmake, remove all occurrences of the string

<pre>
\${OCCT_INSTALL_BIN_LETTER}
</pre>

(Note the leading backslash -- that character must be removed along with the variable reference).

Now, install the following required dependencies using pacman:


* mingw-w64-x86_64-opencascade
* mingw-w64-x86_64-xerces-c
* mingw-w64-x86_64-xerces-c
* mingw-w64-x86_64-qt5
* mingw-w64-x86_64-qt5
Line 96: Line 88:
* mingw-w64-x86_64-python-matplotlib
* mingw-w64-x86_64-python-matplotlib
* mingw-w64-x86_64-pyside2-qt5
* mingw-w64-x86_64-pyside2-qt5
* mingw-w64-x86_64-python-markdown
* mingw-w64-x86_64-python-pygit2


<div class="mw-translate-fuzzy">
The following is a single command to install everything but OpenCASCADE:
Ниже приведена одна команда для установки всего, кроме OpenCascade:
</div>


<pre>
<pre>
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
pacman -S mingw-w64-x86_64-opencascade 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-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-python-markdown mingw-w64-x86_64-python-pygit2
</pre>
</pre>


=== Build FreeCAD ===
=== Сборка 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).


<pre>
<pre>
Line 112: Line 108:
</pre>
</pre>


Запустите сMake:
Run cMake:


<pre>
<pre>
Line 118: Line 114:
</pre>
</pre>


И в завершение:
And finally:


<pre>
<pre>

Latest revision as of 16:23, 7 March 2022

Other languages:

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

Или конкретный pull request (в данном примере PR 1234):

cd FreeCAD
git fetch origin pull/1234/head:pr/1234
git checkout pr/1234

Note that not all versions can be compiled on MSYS2, several changes were required to enable it and these were not present in the 0.19 or earlier versions. For example, the 0.19.3 tag will not be compilable.

Установка необходимых библиотек

FreeCAD включает в свою сборку много сторонних библиотек. Они могут быть установлены по отдельности или в виде единой унифицированной команды. Обновление этого списка является текущей текущей работой этой документации: чтобы помочь, повторно выполните команду cmake из следующего раздела и установите любой следующий пакет, в котором он ошибается. На момент написания этой статьи возникла проблема с pacman-installed OpenCASCADE пакетом.

Теперь установите следующие необходимые зависимости с помощью pacman:

  • mingw-w64-x86_64-opencascade
  • 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
  • mingw-w64-x86_64-python-markdown
  • mingw-w64-x86_64-python-pygit2

Ниже приведена одна команда для установки всего, кроме OpenCascade:

pacman -S mingw-w64-x86_64-opencascade 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-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-python-markdown mingw-w64-x86_64-python-pygit2

Сборка FreeCAD

Создайте каталог для сборки: обратите внимание, что обычно это не подкаталог исходного каталога (часто бывает полезно иметь возможность удалить либо исходный, либо каталог сборки независимо).

mkdir FreeCAD-build
cd FreeCAD-build

Запустите сMake:

cmake ../FreeCAD

И в завершение:

cmake --build ./