#c #dll #build #msys2 #fltk
#c #dll #сборка #msys2 #fltk
Вопрос:
Моя среда: MinGW, MSYS2, WINDOWS 10
Для сборки FLTK 1.3.5 в моей среде официальная инструкция (файл README.MSWindows.txt
) описывает следующие шаги:
open mingw64.exe
cd 'to fltk source code directory'
.configure
make
(В моем случаеmake
не работает, я просто печатаюmingw32-make
)
На моем компьютере сборка завершается успешно, но этот скрипт не генерирует DLL-файлы. Из этого мы можем сделать вывод, что скомпилированная библиотека должна быть статически связана. Я пытался .configure --shared-library
, но это не дало желаемого эффекта. Инструкция может ответить на этот вопрос, но для Visual C6. Это не мой случай, я предпочитаю Codelite и MinGW.
Какие шаги я должен выполнить, чтобы получить FLTK, предназначенный для динамической компоновки?
Комментарии:
1. Из исходного кода похоже, что если вы используете CMake для создания своего makefile, у вас есть возможность создать разделяемую библиотеку. github.com/fltk/fltk/blob/master/CMakeLists.txt
2. Я только что попытался это сделать, однако моя версия gcc (10.2) из msys2 была слишком новой для исходных текстов 1.3.5.
3. @drescherjm Вы предоставили ссылку из репозитория FLTK 1.4.0 ( github.com/fltk/fltk/blob/master/VERSION ). Мой вопрос актуален для стабильной версии (1.3.5)
4. 1.3.5 также имеет CMakeLists.txt с помощью опции «Общий доступ». Я знаю это, потому что я включил создание общих библиотек. Однако, поскольку мой установленный mingw имеет версию gcc 10.2, у меня возникли ошибки:
C:/msys64/home/dresc/fltk-1.3.5/fluid/ExternalCodeEditor_WIN32.cxx:141:13: error: narrowing conversion of '-1' from 'int' to 'long unsigned int' [-Wnarrowing] 141 | case -1: // error | ^
5. Я вижу, что об ошибке сообщалось здесь: https://www.fltk.org/newsgroups.php?s1728 gfltk.проблемы v1729