From 8b77a9a90a696007bd89783bd78f2883a35897e0 Mon Sep 17 00:00:00 2001 From: MultiMote Date: Sat, 7 Jan 2023 19:28:08 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=81=D1=82=D0=B0=D1=82=D1=8C=D0=B8=20?= =?UTF-8?q?=D0=BE=20fltk?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fltk-msys2-cmake/cmake-msys-build.png | Bin 0 -> 6138 bytes .../posts/fltk-msys2-cmake/cmake-msys-gen.png | Bin 0 -> 28047 bytes .../posts/fltk-msys2-cmake/cmake-msys-ldd.png | Bin 0 -> 8979 bytes content/posts/fltk-msys2-cmake/index.md | 113 ++++++++++++++++-- 4 files changed, 102 insertions(+), 11 deletions(-) create mode 100644 content/posts/fltk-msys2-cmake/cmake-msys-build.png create mode 100644 content/posts/fltk-msys2-cmake/cmake-msys-gen.png create mode 100644 content/posts/fltk-msys2-cmake/cmake-msys-ldd.png diff --git a/content/posts/fltk-msys2-cmake/cmake-msys-build.png b/content/posts/fltk-msys2-cmake/cmake-msys-build.png new file mode 100644 index 0000000000000000000000000000000000000000..a09f9d085f657f6fe9e6089bdee74d3377723c16 GIT binary patch literal 6138 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 literal 0 HcmV?d00001 diff --git a/content/posts/fltk-msys2-cmake/cmake-msys-gen.png b/content/posts/fltk-msys2-cmake/cmake-msys-gen.png new file mode 100644 index 0000000000000000000000000000000000000000..ac3ec8f255e41cf31272f98870003af1f22cb12b GIT binary patch literal 28047 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 aC-kccjAN#?o&}l}Pf1Qyw)pY0fPVu=T?icj literal 0 HcmV?d00001 diff --git a/content/posts/fltk-msys2-cmake/cmake-msys-ldd.png b/content/posts/fltk-msys2-cmake/cmake-msys-ldd.png new file mode 100644 index 0000000000000000000000000000000000000000..87541a54916584e2b198bfc5a1bd7ca12dc4d25b GIT binary patch literal 8979 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� z*&h3P@DCpEh&o@?=-||VLLgb2@XaAF5c(@;w!g_@7D{+H!>@!tjXn}SgyH26q=h!9 z|MGqWl#sE`K4FtMR%M>Do~jfL{#=S4I(^|Tq164az>Il~9?9K=(`y0y+DTQZ?`?gn z{w6lPBYEhlIW5(i(BOK_7O(ii=VAdXX2*Q0WAbRXHD=hOVW_3>gv3l*6v?kg<8sfc zq_zLzTlN4UvEs!a7u2^mJ=B!PrZmX_;+#F0luelV{i2rp>A#8{>|41g_1ATlw?ly2 zlm{{zg>h<%mYumRXiC8($5p`jlk^H*iKt3p-U~|0^O7k2?(l-rfs(^2$1R68caoii z2p_4jFO_s*4R&ce6W{Pa`6s3rpR%)fy^q3QV(+%sB1%xhT=A^RcOh++i!^wFHQLGC zT`7i2BXPZeJ0f1%jj2`4v$X^&(-WQ}u~|4e58gxz&Olc^XUr)$Q?^*^@a6zi$;SwH z4V^I`F9luRmm~-oeHxsUosX2a#E6OQ|H^4l+r8eIU+61FE8si$I0m z`Jl<^@0R&ruHLgV-1SG{`u`4U446HiiXp|rxg+Pt^Piq{o4~+9$lWe|KqYh5qj-`v3Gd+kdm8<9`mt|CdY_3aZX&8l#7P VU?QI47) literal 0 HcmV?d00001 diff --git a/content/posts/fltk-msys2-cmake/index.md b/content/posts/fltk-msys2-cmake/index.md index 0b1d09f..0f1aa30 100644 --- a/content/posts/fltk-msys2-cmake/index.md +++ b/content/posts/fltk-msys2-cmake/index.md @@ -6,11 +6,17 @@ categories: ["cpp"] featured_image: thumb.png --- -Обновление статейки по созданию [приложений на FLTK](/fltk-apps), так как нынче всё стало проще. +Обновление статейки по созданию [приложений на FLTK](/fltk-apps), так как нынче установка +библиотек и компилятора стала проще. -# Часть первая – установка msys2 +Содержание: + +{{< toc >}} + +## Часть первая – установка msys2 + Начнём. Скачиваем установщик msys2 с [официального сайта](https://www.msys2.org): @@ -31,7 +37,7 @@ pacman -Syu ![update-phase-1](update-phase-1.png) -Снова выполяем +Снова выполняем: ```bash pacman -Syu @@ -43,13 +49,13 @@ pacman -Syu Готово! msys2 и его компоненты теперь последней версии и готовы к работе. -# Часть вторая – установка инструментария разработчика +## Часть вторая – установка инструментария разработчика Осталось установить компилятор, базовые инструменты для компиляции, cmake, fltk. Мне кажется, если вы выбрали fltk, то вас интересует поддержка старых машин. Поэтому устанавливаем 32-битные версии компилятора и библиотек. Если вас интересует платформа x64, то вместо **i686** в названиях пакетов используйте **x86_64** (например, mingw-w64-**x86_64**-fltk). -Выполняем +Выполняем: ```bash pacman -S base-devel mingw-w64-i686-gcc mingw-w64-i686-cmake mingw-w64-i686-fltk @@ -57,11 +63,11 @@ pacman -S base-devel mingw-w64-i686-gcc mingw-w64-i686-cmake mingw-w64-i686-fltk ![install-devtools](install-devtools.png) -# Часть третья - пишем и собираем приложения +## Часть третья - пишем и собираем приложения -## Код +### Пример приложения -В этот раз будет программа, считающая нажатия на кнопку. +В этот раз будет программа, считающая нажатия на кнопку: ```cpp #include @@ -122,7 +128,7 @@ int main(void) { } ``` -## Сборка напрямую +### Сборка напрямую Для начала пробуем всё собрать напрямую компилятором, без систем сборки. Мой проект находится в D:/code. Поэтому нужно перейти в этот каталог. @@ -159,6 +165,91 @@ ldd main.exe ![app](app.gif) -## Сборка через cmake +### Сборка через CMake + +#### Вариант 1 - внутри msys2 + +Для cmake хорошим тоном является создавать директорию сборки вне директории проекта. Поэтому немного изменим структуру нашего проекта: + +``` +D:\code + ├───build + └───fltk-app + ├───CmakeLists.txt + └───main.cpp +``` + +Создаём CmakeLists.txt, который также будет поддерживать статическую сборку: + +```cmake +cmake_minimum_required(VERSION 3.2) + +project(fltk-app) + +option(STATIC_BUILD "Enable static build" ON) + +# Конфигурируем статическую сборку для mingw +if(STATIC_BUILD AND MINGW) + set(BUILD_SHARED_LIBS OFF) + set(CMAKE_FIND_LIBRARY_SUFFIXES ".a") + set(CMAKE_EXE_LINKER_FLAGS "-static -mwindows") +endif() + +# Ищем библиотеку fltk в системе +# При успешном поиске станут доступны переменные, описанные здесь: +# https://cmake.org/cmake/help/latest/module/FindFLTK.html +find_package(FLTK REQUIRED) + +# Указываем исходные файлы проекта +add_executable(fltk-app main.cpp) + +# Добавляем путь к заготовкам fltk для компиляции (в случаях, когда они находятся в произвольном месте) +target_include_directories(fltk-app PUBLIC ${FLTK_INCLUDE_DIRS}) + +# Подключаем библиотеки +target_link_libraries(fltk-app ${FLTK_BASE_LIBRARY}) + +# Также добавляем необходимые библиотеки при сборке на windows +if(WIN32) + target_link_libraries(fltk-app comctl32) +endif() +``` + +> Файл проекта пока что адаптирован только для windows. + +Переходим в каталог сборки: + +```bash +cd /d/code/build +``` + +Далее необходимо создать файлы для конкретной системы сборки. У нас это **MSYS Makefiles**: + +```bash +cmake -G "MSYS Makefiles" /d/code/fltk-app +``` + +![cmake-msys-gen](cmake-msys-gen.png) + +Затем собираем проект: + +```bash +cmake --build . +``` + +![cmake-msys-build](cmake-msys-build.png) + +Проверяем, не появилось ли зависимостей: + +```bash +ldd /d/code/build/fltk-app.exe +``` + +![cmake-msys-ldd](cmake-msys-ldd.png) + +#### Вариант 2 - вне msys2 + +Сборка через msys2 удобна тогда, когда у нас уже есть готовый проект. +Однако когда речь идёт о разработке, то мало какая IDE позволит себе роскошь запускать сборку в окружении msys2. +Чтобы избавиться от необходимости его использования, необходимо выполнить всего лишь... -скоро будет