2013-09-11 4 views
1

В настоящее время я использую MXE для выполнения кросс-компиляции, пытаясь перекрестно скомпилировать с помощью 0MQ, который использует привязки libzmq для C++ в первый раз. Я уже поместил zmq.hpp & zmq.h файлов в папку include, но я получаю сообщение об ошибке, которое говорит, что -lzmq не может быть найден. Мне было интересно, есть ли способ вручную добавить библиотеку libzmq в MXE для этой цели?Кросс-компиляция в Linux для Windows

Ошибка:

/home/mxe/usr/lib/gcc/i686-pc-mingw32/4.8.1/../../../../i686-pc-mingw32/bin/ld: cannot find -lzmq 
collect2: error: ld returned 1 exit status 
make[1]: *** [release/myapp.exe] Error 1 
make[1]: Leaving directory `/home/Desktop/myapp' 
make: *** [release] Error 2 

ответ

0

Не уверен, что о вашем точном сценарии, но работать с MXE несколько раз, я научился использовать все из текущего рабочего каталога, а не идти для стандартных заголовков и локаций.

то есть в вашем случае попытки путем размещения

zmq.hpp & zmq.h in /home/Desktop/myapp 

с включают заявления с использованием "" вместо <>

0

Вы, наверное, можете спросить в списке рассылки MXE, они очень полезны.

Однако вы также можете добавить zmq глядя на инструкции MXe для создания пакетов, которые здесь:

http://mxe.cc/#creating-packages 

В основном MXE основана на огромной коллекции Makefiles и патчи, чтобы сделать их работу под MXE. Чтобы добавить пакет, вам нужно создать make-файл .mk в каталоге 'src', а затем выяснить, как сделать патч. Библиотека xz - хороший простой пример:

https://github.com/mxe/mxe/blob/master/src/xz.mk 

Удачи.