Skip to content

Commit 56d1cad

Browse files
authored
Merge pull request #267 from andreevlex/feature/add-build-gui-ubuntu
Добавил описание зависимостей для сборки gui
2 parents 3b9cad1 + 0b1ac8f commit 56d1cad

File tree

1 file changed

+163
-60
lines changed

1 file changed

+163
-60
lines changed

BUILD.md

Lines changed: 163 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -23,77 +23,90 @@ make install # или checkinstall
2323
```
2424

2525
Сборка deb-пакета:
26-
```
26+
27+
```sh
2728
sudo apt-get install debhelper
2829
debuild -uc -us
2930
```
3031

32+
Поддержка разработки графического интерфейса пользователя.
33+
34+
```sh
35+
sudo apt install mesa-common-dev
36+
```
37+
38+
Скачать и установить скомпилированные библиотеки [Qt](https://www.qt.io/download)
39+
3140
deb-пакет будет в каталоге уровнем выше с названием `ctool1cd_<версия>_<платформа>.deb`
3241

3342
## Windows
3443

35-
Установка системы генерации проектов:
44+
Установить систему генерации проектов:
3645
https://cmake.org/download/
3746

38-
### IDE Visual Studio 2017
47+
### Сборка консольного проекта в Visual Studio 2017
3948

4049
Установка зависимостей:
4150

4251
Скачать и установить скомпилированные библиотеки `boost x86`
43-
https://sourceforge.net/projects/boost/files/boost-binaries/1.63.0/boost_1_63_0-msvc-14.0-32.exe/download
52+
https://sourceforge.net/projects/boost/files/boost-binaries/1.66.0/boost_1_66_0-msvc-14.1-32.exe/download
4453

45-
В качестве каталога назначения указать, например `C:\Libraries\boost_1_63_0`
54+
В качестве каталога назначения указать, например `C:\Libs\boost_1_66_0`
4655

4756
Скачать библиотеку `zlib` и скомпилировать
4857
https://github.com/madler/zlib/archive/v1.2.8.zip
4958

5059
Распаковать архив, например в каталог `C:\Libs\zlib-1.2.8`
5160

52-
```cmd
53-
cd zlib-1.2.8
54-
55-
md build
56-
57-
cd build
58-
59-
cmake -DCMAKE_SHARED_LINKER_FLAGS="/NODEFAULTLIB:MSVCRTD" -DCMAKE_C_FLAGS_DEBUG="/MT /Od /Ob0" ..
61+
Открыть каталог с *корневым* `CMakeLists.txt` через меню `File -> Open -> CMake...`
62+
Для настройки зависимостей и типов проектов `Debug, Release`, необходимо
63+
через меню `Cmake -> Change CMake Settings -> CMakeLists.txt` создать файл `CMakeSettings.json`
6064

61-
cmake --build . --config Debug --target zlibstatic
65+
Замените переменные в секции `x86-Debug`:
6266

63-
copy zconf.h ..
64-
```
67+
`"generator": "Visual Studio 15 2017",` - для какой IDE создавать проект
6568

66-
Генерация проекта:
69+
`"buildRoot": "${projectDir}\\build\\${name}",` - каталог, где будут хранится сгенерированные проекты `${projectDir}` - путь до корневого `CMakeLists.txt`
6770

68-
Visual Studio 2017 поддерживает работу с cmake без предварительной генерации проекта
71+
`"installRoot": "${projectDir}\\install\\${name}",`
6972

70-
Открыть каталог с корневым `CMakeLists.txt` через меню `File -> Open -> CMake...`
73+
`"buildCommandArgs": "-v:minimal",`
7174

72-
Для настройки зависимостей и типов проектов `Debug, Release`, необходимо
73-
через меню `Cmake -> Change CMake Settings -> CMakeLists.txt` создать файл `CMakeSettings.json`
75+
Должен получиться такой файл:
7476

7577
```json
76-
{
77-
// See https://go.microsoft.com//fwlink//?linkid=834763 for more information about this file.
78-
"configurations": [
78+
"configurations": [
7979
{
8080
"name": "x86-Debug",
81-
"generator": "Ninja",
81+
"generator": "Visual Studio 15 2017",
8282
"configurationType": "Debug",
8383
"inheritEnvironments": [ "msvc_x86" ],
84-
"buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
85-
"installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
84+
"buildRoot": "${projectDir}\\build\\${name}",
85+
"installRoot": "${projectDir}\\install\\${name}",
8686
"cmakeCommandArgs": "",
87-
"buildCommandArgs": "-v",
87+
"buildCommandArgs": "-v:minimal",
8888
"ctestCommandArgs": ""
8989
}
9090
]
9191
}
9292
```
9393

94-
Заменить переменные:
94+
Через меню `Cmake -> Only build` выбрать цель `zlibstaticd.lib`
95+
Артифакты сборки будут находится подобном каталоге `C:\libs\zlib-1.2.8\build\x86-Debug\Debug`
96+
После сборки необходимо скопировать файл `zconf.h` в каталог `C:\Libs\zlib-1.2.8`
97+
98+
Генерация консольного проекта:
99+
100+
Visual Studio 2017 поддерживает работу с cmake без предварительной генерации проекта
101+
102+
Открыть каталог с *корневым* `CMakeLists.txt` через меню `File -> Open -> CMake...`
103+
104+
Для настройки зависимостей и типов проектов `Debug, Release`, необходимо
105+
через меню `Cmake -> Change CMake Settings -> CMakeLists.txt` создать файл `CMakeSettings.json`
95106

96-
`"generator": "Visual Studio 14 2015",` - для какой IDE создавать проект
107+
Замените переменные:
108+
109+
`"generator": "Visual Studio 15 2017",` - для какой IDE создавать проект
97110

98111
`"buildRoot": "${projectDir}\\build\\${name}",` - каталог, где будут хранится сгенерированные проекты `${projectDir}` - путь до корневого `CMakeLists.txt`
99112

@@ -104,71 +117,161 @@ Visual Studio 2017 поддерживает работу с cmake без пре
104117
Добавить переменные cmake:
105118

106119
```json
107-
"variables": [
120+
"variables": [
121+
{
122+
"name": "Boost_FILESYSTEM_LIBRARY_DEBUG",
123+
"value": "C:\\libs\\boost_1_66_0\\lib32-msvc-14.1\\boost_filesystem-vc141-mt-gd-x32-1_66.lib"
124+
},
125+
{
126+
"name": "Boost_SYSTEM_LIBRARY_DEBUG",
127+
"value": "C:\\libs\\boost_1_66_0\\lib32-msvc-14.1\\boost_system-vc141-mt-gd-x32-1_66.lib"
128+
},
129+
{
130+
"name": "Boost_REGEX_LIBRARY_DEBUG",
131+
"value": "C:\\libs\\boost_1_66_0\\lib32-msvc-14.1\\boost_regex-vc141-mt-gd-x32-1_66.lib"
132+
},
133+
{
134+
"name": "NOGUI",
135+
"value": "true"
136+
},
108137
{
109138
"name": "BOOST_ROOT",
110-
"value": "C:\\Libs\\boost_1_63_0"
139+
"value": "C:\\libs\\boost_1_66_0"
111140
},
112141
{
113142
"name": "BOOST_LIBRARYDIR",
114-
"value": "C:\\Libs\\boost_1_63_0\\lib32-msvc-14.0"
143+
"value": "C:\\libs\\boost_1_66_0\\lib32-msvc-14.1"
115144
},
116145
{
117146
"name": "BOOST_INCLUDEDIR",
118-
"value": "C:\\Libs\\boost_1_63_0"
147+
"value": "C:\\libs\\boost_1_66_0"
119148
},
120149
{
121-
"name": "ZLIB_INCLUDE_DIR",
122-
"value": "C:\\Libs\\zlib-1.2.8"
150+
"name": "ZLIB_LIBRARY_DEBUG",
151+
"value": "C:\\libs\\zlib-1.2.8\\build\\x86-Debug\\Debug\\zlibstaticd.lib"
123152
},
124153
{
125-
"name": "ZLIB_LIBRARY_DEBUG",
126-
"value": "C:\\Libs\\zlib-1.2.8\\build\\Debug\\zlibstatic.lib"
154+
"name": "ZLIB_INCLUDE_DIR",
155+
"value": "C:\\libs\\zlib-1.2.8"
127156
}
128-
]
157+
]
129158
```
130159

131-
В итоге должнен получится файл вида:
160+
### Сборка проекта с поддержкой GUI в Visual Studio 2017
161+
162+
Установка зависимостей:
163+
Скачать и установить скомпилированные библиотеки [Qt](https://www.qt.io/download).
164+
Необходимо установить комплект библиотек собранных с помощью `msvc2017_64`
165+
166+
Скачать и установить скомпилированные библиотеки `boost x64`
167+
https://sourceforge.net/projects/boost/files/boost-binaries/1.66.0/boost_1_66_0-msvc-14.1-64.exe/download
168+
169+
В качестве каталога назначения указать, например `C:\Libs\boost_1_66_0`.
170+
171+
Скачать библиотеку `zlib` и скомпилировать
172+
https://github.com/madler/zlib/archive/v1.2.8.zip
173+
174+
Распаковать архив, например в каталог `C:\Libs\zlib-1.2.8`
175+
176+
Открыть каталог с *корневым* `CMakeLists.txt` через меню `File -> Open -> CMake...`
177+
Для настройки зависимостей и типов проектов `Debug, Release`, необходимо
178+
через меню `Cmake -> Change CMake Settings -> CMakeLists.txt` создать файл `CMakeSettings.json`
179+
180+
Замените переменные в секции `x64-Debug`:
181+
182+
`"generator": "Visual Studio 15 2017 Win64",` - для какой IDE создавать проект
183+
184+
`"buildRoot": "${projectDir}\\build\\${name}",` - каталог, где будут хранится сгенерированные проекты `${projectDir}` - путь до корневого `CMakeLists.txt`
185+
186+
`"installRoot": "${projectDir}\\install\\${name}",`
187+
188+
`"buildCommandArgs": "-v:minimal",`
189+
190+
Должен получиться такой файл:
132191

133192
```json
134-
{
135-
// See https://go.microsoft.com//fwlink//?linkid=834763 for more information about this file.
136-
"configurations": [
193+
"configurations": [
137194
{
138-
"name": "x86-Debug",
139-
"generator": "Visual Studio 14 2015",
195+
"name": "x64-Debug",
196+
"generator": "Visual Studio 15 2017 Win64",
140197
"configurationType": "Debug",
141-
"inheritEnvironments": [ "msvc_x86" ],
142-
"buildRoot": "${projectDir}\\build\\${name}",
198+
"inheritEnvironments": [ "msvc_x64" ],
199+
"buildRoot": "${projectDir}\\build\\${name}",
143200
"installRoot": "${projectDir}\\install\\${name}",
144201
"cmakeCommandArgs": "",
145202
"buildCommandArgs": "-v:minimal",
146-
"ctestCommandArgs": "",
147-
"variables": [
203+
"ctestCommandArgs": ""
204+
}
205+
]
206+
}
207+
```
208+
209+
Через меню `Cmake -> Only build` выбрать цель `zlibstaticd.lib`
210+
Артифакты сборки будут находится подобном каталоге `C:\libs\zlib-1.2.8\build\x64-Debug\Debug`
211+
После сборки необходимо скопировать файл `zconf.h` в каталог `C:\Libs\zlib-1.2.8`
212+
213+
Генерация проектов (консольного, GUI):
214+
215+
Visual Studio 2017 поддерживает работу с cmake без предварительной генерации проекта
216+
217+
Открыть каталог с *корневым* `CMakeLists.txt` через меню `File -> Open -> CMake...`
218+
219+
Для настройки зависимостей и типов проектов `Debug, Release`, необходимо
220+
через меню `Cmake -> Change CMake Settings -> CMakeLists.txt` создать файл `CMakeSettings.json`
221+
222+
Заменить переменные в секции `x64-Debug`:
223+
224+
`"generator": "Visual Studio 15 2017 Win64",` - для какой IDE создавать проект
225+
226+
`"buildRoot": "${projectDir}\\build\\${name}",` - каталог, где будут хранится сгенерированные проекты `${projectDir}` - путь до корневого `CMakeLists.txt`
227+
228+
`"installRoot": "${projectDir}\\install\\${name}",`
229+
230+
`"buildCommandArgs": "-v:minimal",`
231+
232+
Добавить переменные cmake:
233+
234+
```json
235+
"variables": [
236+
{
237+
"name": "Boost_FILESYSTEM_LIBRARY_DEBUG",
238+
"value": "C:\\libs\\boost_1_66_0\\lib64-msvc-14.1\\boost_filesystem-vc141-mt-gd-x64-1_66.lib"
239+
},
240+
{
241+
"name": "Boost_SYSTEM_LIBRARY_DEBUG",
242+
"value": "C:\\libs\\boost_1_66_0\\lib64-msvc-14.1\\boost_system-vc141-mt-gd-x64-1_66.lib"
243+
},
244+
{
245+
"name": "Boost_REGEX_LIBRARY_DEBUG",
246+
"value": "C:\\libs\\boost_1_66_0\\lib64-msvc-14.1\\boost_regex-vc141-mt-gd-x64-1_66.lib"
247+
},
248+
{
249+
"name": "NOGUI",
250+
"value": "false"
251+
},
148252
{
149253
"name": "BOOST_ROOT",
150-
"value": "C:\\Libs\\boost_1_63_0"
254+
"value": "C:\\libs\\boost_1_66_0"
151255
},
152256
{
153257
"name": "BOOST_LIBRARYDIR",
154-
"value": "C:\\Libs\\boost_1_63_0\\lib32-msvc-14.0"
258+
"value": "C:\\libs\\boost_1_66_0\\lib64-msvc-14.1"
155259
},
156260
{
157261
"name": "BOOST_INCLUDEDIR",
158-
"value": "C:\\Libs\\boost_1_63_0"
262+
"value": "C:\\libs\\boost_1_66_0"
263+
},
264+
{
265+
"name": "ZLIB_LIBRARY_DEBUG",
266+
"value": "C:\\libs\\zlib-1.2.8\\build\\x64-Debug\\Debug\\zlibstaticd.lib"
159267
},
160268
{
161269
"name": "ZLIB_INCLUDE_DIR",
162-
"value": "C:\\Libs\\zlib-1.2.8"
270+
"value": "C:\\libs\\zlib-1.2.8"
163271
},
164272
{
165-
"name": "ZLIB_LIBRARY_DEBUG",
166-
"value": "C:\\Libs\\zlib-1.2.8\\build\\Debug\\zlibstatic.lib"
273+
"name": "Qt5Widgets_DIR",
274+
"value": "C:\\Qt\\5.9.5\\msvc2017_64\\lib\\cmake\\Qt5Widgets"
167275
}
168276
]
169-
}
170-
]
171-
}
172277
```
173-
174-
В каталоге `buildRoot` будет создан Solution `tool1cd.sln`, который можно использовать для разработки.

0 commit comments

Comments
 (0)