Как создать FLTK как DLL

#c #dll #build #msys2 #fltk

#c #dll #сборка #msys2 #fltk

Вопрос:

Моя среда: MinGW, MSYS2, WINDOWS 10

Для сборки FLTK 1.3.5 в моей среде официальная инструкция (файл README.MSWindows.txt ) описывает следующие шаги:

  1. open mingw64.exe
  2. cd 'to fltk source code directory'
  3. .configure
  4. 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