Не удается связать в 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