Компиляция библиотеки C в DLL с MinGW - PullRequest
0 голосов
/ 19 марта 2012

Я пытаюсь использовать библиотеку librsync в моей java-программе через JNA. Для этого мне нужно иметь возможность скомпилировать библиотеку librsync в dll. Я знаю, как скомпилировать один файл c в dll, используя MinGW, и для этого я нашел много примеров, но я не знаю, как это сделать для большой библиотеки, такой как librsync. Это вообще возможно?

Спасибо заранее, Frank

Ответы [ 2 ]

1 голос
/ 19 марта 2012

Я не знаю ничего конкретного о librsync, но вы должны иметь возможность использовать ld или gcc --shared как обычно. Тем не менее, когда вы пытаетесь создать большие библиотеки с большим количеством зависимостей, часто бывает очень гораздо проще, если вы можете использовать существующий Makefile и вносить в него только небольшие изменения.

Итак, ваш первый шаг - увидеть, что он собирается под MinGW, как есть, а затем попытаться изменить Makefile, чтобы сделать dll

0 голосов
/ 06 июля 2012

Что вы можете сделать, это

  1. Создайте свой собственный файл .def, экспортируя различные rs* функции, которые вам нужны из librsync: Источник
  2. Запустите dlltool, а затем gcc для создания необходимого DLL-файла: Источник
...