Проблемы с сборкой DLL Cygwin для использования в приложении Windows - PullRequest
0 голосов
/ 16 ноября 2018

Я использую Cygwin для сборки исходного кода в DLL, используемую приложением Windows.

Когда я использую GCC core / GCC g++, приложение вылетает, если оно вызывает функцию (которая включает printf или * 1006).*) в DLL.

Когда я использую Mingw64-x86_64-gcc-core / Mingw64-x86_64-gcc-g++, он сообщает об ошибке наподобие sys/socket.h:No such file or directory.

Может кто-нибудь объяснить, как это сделать?Спасибо.

1 Ответ

0 голосов
/ 16 ноября 2018

Первая проблема связана с предварительным построением автономной библиотеки DLL (не зависящей от cygwin1.dll) с использованием только определенных инструментов cygwin.У вас есть конфликт между несколькими malloc и другими вызовами библиотеки C, присутствующими в cygwin1.dll.

Второе связано с тем, что sys/socket.h не существует в Windows, см. Возможное решение: Использование sys /socket.h работает в windows

Так что вам нужно определить, на что вы нацелены: Cygwin / Posix или Windows и соответственно выбрать стиль программирования и инструменты, которые вы не можете смешивать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...