不能在 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
我正在尝试在 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