【问题标题】:Using ZeroMQ in VS2012 C++在 VS2012 C++ 中使用 ZeroMQ
【发布时间】:2013-12-31 02:34:18
【问题描述】:

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

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

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

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

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

因此,之后,我将this 复制到了一个 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:也试过this。没什么...

【问题讨论】:

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


    【解决方案1】:

    您的链接搜索目录可能不包括 C DLL libzmq.dll。验证这不是问题。

    【讨论】:

    • 怎么回事?我在附加目录中包含了 libzmq.dll,这是你的意思吗?我也将它复制到项目文件夹中
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2016-01-17
      • 2016-09-05
      • 2012-07-11
      • 2013-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多