1

所以我在 python 中安装了 ZeroMQ(它正在工作),但我不能在 Visual Studio 2012 C++ 中做到这一点。我下载了windows安装程序,安装它并在安装文件夹中搜索:

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

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

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

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

所以,之后,我将它复制一个 zmqhpp.h 文件中,我将其导入到我想要创建套接字的另一个头文件中。现在它说“1>PythonPlugIn2.obj : error LNK2019: unresolved external symbol __imp__zmq_close referenced in function "public: void __thiscall zmq::socket_t::close(void)" (?close@socket_t@zmq@@QAEXXZ)”和一堆其他“未解决”的问题(准确地说还有 12 个)

发生什么事了伙计们?

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

感谢你们

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

Edit2:也试过这个。没有什么...

4

2 回答 2

0

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

于 2013-07-01T17:35:37.680 回答
0

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

于 2013-12-30T18:34:18.533 回答