在 windows 应用程序中使用的 cygwin 构建 dll 的问题

Problems with cygwin build dll for use in windows app

我使用 Cygwin 将源代码构建为 windows 应用程序使用的 DLL。

当我使用 GCC core / GCC g++ 时,如果调用 DLL 中的函数(包括 printfmalloc),应用程序会崩溃。

当我使用 Mingw64-x86_64-gcc-core / Mingw64-x86_64-gcc-g++ 时,它会报告类似 sys/socket.h:No such file or directory.

的错误

谁能解释一下怎么做?谢谢。

第一个问题是由于尝试仅使用 cygwin 特定工具构建独立 DLL(不依赖于 cygwin1.dll)。 cygwin1.dll.

中存在多个 malloc 和其他 C 库调用之间存在冲突

第二个是因为 sys/socket.h 在 Windows 上不存在 查看可能的解决方案: Using sys/socket.h functions on windows

因此您需要定义您的目标是什么:Cygwin/Posix 或 Windows 并相应地选择编程风格和工具,您不能混用。