在VS2012 C++中使用ZeroMQ

Using ZeroMQ in VS2012 C++

本文关键字:ZeroMQ VS2012 C++      更新时间:2023-10-16

所以我在python中安装了ZeroMQ(它正在运行),但我无法在Visual studio 2012 C++中完成。我下载了windows安装程序,安装了它,并在安装文件夹中搜索,该文件夹是:

-一个包含2个头文件的"包含"文件夹,我将其复制到我的VS中包含

-一个"lib"文件夹,包含3个lib文件和3个pdb文件,我将其复制到我的VS lib 中

-一个"bin"文件夹,我复制到我的VS bin

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

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

发生了什么事,伙计们?

我使用的是windows 7 x-64和Visual Studio 2012 c++

谢谢你们

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

编辑2:也试过这个。没有什么

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

当我遇到类似的错误时,是因为我试图将64位库链接到32位项目中。我下载了错误的版本。当我找到合适的,即x86而不是x64时,它就起作用了。