不能在 Windows MinGW 的 libnanomsg 中 link,使用 MXE 进行交叉编译

Can't link in libnanomsg for Windows MinGW, cross compiling using MXE

我正在尝试在 mingw 上构建 nanomsg,使用 mxe 从 ubuntu 交叉编译。目标主机是 x86_64。我建造得很好,但它不会 link。我遇到了

这样的问题
undefined reference to 'imp__nn_freemsg'

我认为这是一个静态库问题。我使用

再次构建
 ./configure --enable-static --disable-shared ...

同样的问题。我在 libnanomsg.a 中 link 之后是否需要在 gcc 构建行中放入任何 linker 标志?

如果您使用 VS 构建,使用 cmake,将设置许多定义。有些位于 src/nn.h,有些则分散在周围。顺便说一句,'imp__**' 问题始终是 link 静态失败。

传递这些标志将link它:

-D_WIN32 -DNN_EXPORTS -DNN_HAVE_MINGW -DNN_HAVE_WINDOWS -DNN_USE_LITERAL_IFADDR=1 -DSTATICLIB