1

我目前正在使用 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
4

2 回答 2

0

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

即在你的情况下尝试放置

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

包含语句使用""而不是<>

于 2013-10-05T15:14:48.900 回答
0

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

但是,您也可以通过查看用于创建包的 MXE 说明来添加 zmq,这些说明如下:

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

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

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

祝你好运。

于 2014-04-13T12:42:10.997 回答