Не удается связать в libnanomsg для Windows MinGW, кросс-компиляция с использованием MXE

Я пытаюсь собрать Nanomsg на MINGW, кросс-компиляции из Ubuntu с помощью MXE. Целевой хост - x86_64. Я построил это хорошо, но это не будет связывать. Я получаю такие проблемы, как

undefined reference to 'imp__nn_freemsg'

Я думаю, что это статическая проблема с библиотекой. Я построил снова, используя

 ./configure --enable-static --disable-shared ...

Та же проблема. Есть ли какие-либо флаги компоновщика, которые мне нужно поместить в строку сборки gcc после того, как я добавлю ссылку в libnanomsg.a?

1 ответ

Решение

Есть много определений, которые будут установлены, если вы будете строить с VS, используя cmake. Некоторые находятся в src / nn.h, другие разбросаны вокруг. Кстати, проблема 'imp__**' всегда заключается в том, что она не связана статически.

Передача этих флагов свяжет это:

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

Другие вопросы по тегам