Обновление статьи о fltk

This commit is contained in:
MultiMote 2023-01-07 19:36:13 +03:00
parent 8b77a9a90a
commit 722cea5036

View File

@ -139,14 +139,14 @@ cd /d/code
Пробуем собрать наше приложение. Меня в первую очередь интересовала статическая сборка, когда все зависимости интегрируются в один исполняемый файл.
```bash
g++ main.cpp -o main.exe -O2 -DWIN32 -static -static-libgcc -static-libstdc++ -lfltk -lole32 -luuid -lcomctl32 -mwindows
g++ main.cpp -o main.exe -O2 -DWIN32 -static -lfltk -lole32 -luuid -lcomctl32 -mwindows
```
**-DWIN32** указываем FLTK, что мы под Windows.
**-mwindows** убираем чёрное окошко у приложения и подключаем некоторые системные библиотеки.
**-mwindows** убираем чёрное окно команд у приложения и подключаем некоторые системные библиотеки.
**-static -static-libgcc -static-libstdc++** статическая сборка, включить системные библиотеки в статическую сборку.
**-static** статическая сборка.
**-lfltk -lole32 -luuid -lcomctl32** подключение необходимых библиотек.
@ -189,10 +189,15 @@ 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")
if(MINGW)
if(STATIC_BUILD)
set(BUILD_SHARED_LIBS OFF)
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static")
endif()
# Отключаем окно команд
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -mwindows")
endif()
# Ищем библиотеку fltk в системе