Linux for Windows上的交叉编译

时间:2013-09-11 11:42:06

标签: cross-compiling zeromq mxe

我目前正在使用MXE执行交叉编译,尝试与首次使用C ++的libzmq绑定的0MQ进行交叉编译。我已经把zmq.hpp&包含文件夹中的zmq.h个文件,但我收到一条错误消息,指出无法找到-lzmq。我想知道有没有办法为此目的手动将libzmq库添加到MXE?

错误:

/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

2 个答案:

答案 0 :(得分:0)

不确定您的确切方案,但是使用MXE几次,我学会了使用当前工作目录中的所有内容,而不是使用标准标题和位置。

即。在您的情况下尝试放置

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

使用""代替<>

的包含语句

答案 1 :(得分:0)

您可以在MXE邮件列表上询问,它们非常有用。

但是,您也可以通过查看用于创建包的MXE指令来添加zmq,其中包括:

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

基本上,MXE基于大量的Makefile和补丁,以使它们在MXE下工作。要添加套餐,您需要创建一个&#39; .mk&#39; makefile在&#39; src&#39;目录,然后弄清楚如何制作补丁。 xz库是一个很好的简单例子:

 https://github.com/mxe/mxe/blob/master/src/xz.mk
祝你好运。