在VS2012 C ++中使用ZeroMQ

时间:2013-07-01 03:06:40

标签: c++ visual-studio-2012 zeromq

所以我在python中安装了ZeroMQ(并且它正在工作)但我无法在Visual Studio 2012 C ++中完成。我下载了Windows安装程序,安装它并在安装文件夹中搜索:

- 包含2个头文件的“include”文件夹,我将其复制到我的VS中

-a“lib”文件夹,包含3个lib文件和3个pdb文件,我将其复制到我的VS lib

-a“bin”文件夹,我复制到我的VS bin

在此之后,我尝试使用zmq :: context_t ...和zmq :: socket_t ...但我不能这样做,它说zmq必须是一个类才能让我用作命名空间。我试图将所有库添加到依赖项中,但仍然无法实现。

所以,之后,我将this复制到zmqhpp.h文件中,我将其导入到我要创建套接字的其他头文件中。 现在它说“1> PythonPlugIn2.obj:错误LNK2019:未解析的外部符号__imp__zmq_close在函数中引用”public:void __thiscall zmq :: socket_t :: close(void)“(?close @ socket_t @ zmq @@ QAEXXZ)”和a一堆其他“未解决的”问题(确切地说还有12个)

发生了什么事?

我在Windows 7 x-64和Visual Studio 2012 c ++上

谢谢你们

编辑:同时我尝试了另一件事。而不是Windows安装程序,我下载了.zip。我遵循每一步(我必须构建msvc10,因为msvc不会构建)然后我将库libzmq_d.lib添加到我的依赖项中。我仍然得到错误“zmq不是类或命名空间名称”

Edit2:也尝试了this。没什么...

2 个答案:

答案 0 :(得分:0)

您的搜索链接目录可能不包含C DLL libzmq.dll。确认这不是问题。

答案 1 :(得分:0)

当我遇到类似的错误时,那是因为我试图将64位库链接到32位项目中。我下载了错误的版本。当我得到正确的,即x86而不是x64时,它可以工作。