2012-11-18 61 views
1

我开发我的项目在我的工作场所的电脑(所有进展顺利),但是当我尝试编译在我的家用电脑(包括Ubuntu的12.04)我得到以下信息:克++未定义参考ZMQ

undefined reference to `zmq_sendmsg' 

我不明白我错过了什么,因为我看到这个

/usr/local/lib/libzmq.so 
/usr/local/lib/libzmq.so.3 
/usr/local/lib/libzmq.so.3.0.0 

所以我ZeroMQ安装似乎是确定。 有人可以建议我可以检查什么?

+0

您是如何编制的程序? – Mat

+0

你需要发布你如何调用编译器/链接器。你可能还需要发布代码的一个简单例子。 (也就是说,前段时间ZeroMQ的作者[写了一篇很好的博客文章](http://www.250bpm.com/blog:4)表明他并不真正理解C++,所以总有一种机会错误发生在图书馆。) –

+0

不错:)他已经离开了一个只有C接口的新项目。 –

回答

3

当你链接你必须添加-lzmq所以链接器将从libzmq拉功能。

以下是我编一个Hello World程序:

gcc -o hello hello.c -lzmq 
1

我们需要您使用的链接器命令来说明。

您可以构建一些ZeroMQ示例程序吗?你可以建立事情在Ubuntu的版本V2,如

[email protected]:~$ COLUMNS=40 dpkg -l|grep libzmq 
ii libzmq-dev  2.1.11-1ubuntu ZeroMQ lightweight messaging kernel (develop 
ii libzmq1  2.1.11-1ubuntu ZeroMQ lightweight messaging kernel (shared 
[email protected]:~$ 

ZeroMQ是一个相当标准库尽可能构建工具去的,所以你必须简单的东西,我们应该找到。

+0

嗯,是的,ZMQ的例子编译和运行没有问题,我正在编辑Eclipse,在终端,我只是在做“qmake”(我也使用QT),它的工作原理,然后我“做”,并得到错误 –

+0

所以你现在有一个概念证明,你的安装完成,它会出现'建立配方'你回家不适合你的路径设置,你需要解决这个问题 - 'qmake'将会为你编写一个你需要调试的Makefile文件,它可能就像修改你的'.pro'文件一样简单 –

+0

I想类似的东西,但在“的.pro”文件关于ZMQ只排 LIBS + = -lzmq 和zmq.hpp在头部分,我看不出有任何‘错误的道路’的任何地方写..我不知道是什么ö寻找了... –