【问题标题】:How to install ZeroMQ for C++ using VS2015 community如何使用 VS2015 社区安装 ZeroMQ for C++
【发布时间】:2016-08-24 03:21:43
【问题描述】:

我正在尝试用 C++ 学习 windows 中的网络(专门用于制作一个非常简单的 mmo 服务器)。

我正在阅读有关跨平台性和套接字复杂性的内容,并且接触过很多 protobuf 和 zeroMQ。

在阅读了有关 zeroMQ 的内容后,我认为它对 mmo 服务器有意义。

所以我去了 zeroMQ 网站并下载了 msi 安装程序。我跑了,现在卡住了。

我不太明白 MSI 做了什么...它是否在 system32 中添加了 zeroMQ.dll?我还需要获取 C++ 绑定吗?基本上,你如何为 C++ 安装 zeromq?

附:如果有人向我展示如何使用 Nuget 来加分。我想这就是我不知道如何手动安装库的原因,我总是使用 Nuget...

谢谢。

【问题讨论】:

    标签: c++ sockets networking zeromq


    【解决方案1】:

    Nuget 确实有一个用于 ZeroMQ 的 package,但目前这似乎只适用于 C#。

    您安装的 MSI 包含用于 ZeroMQ 的 Python 绑定,并且已在安装程序中为选定的 Python 版本安装。

    对于 C++,他们在 download page 上有预构建的二进制文件。 但是,这些库是用旧版本的 Visual Studio 构建的,它们是 not compatible 和 Visual Studio 2015。如果你想使用 ZeroMQ,恐怕你将不得不 build 你自己的库。

    ZeroMQ搭建成功后,可以关注他们的guide,感受一下如何使用它。或者您可以添加C++ bindings,它具有漂亮且易于使用的界面。

    【讨论】:

    • 好的,所以我在您的“构建”链接中克隆了 git repo,并在 msvc 2015 中构建了 sln。它在输出中说它在“..\bin\”中创建了一个名为 libzmq.dll 的 dll Win32\Debug\v140\dynamic\libzmq.dll”。是这样吗?我可以将那个 dll 放入系统 32 并将其包含在我的项目中吗?真的这么简单???
    • 不,构建库很容易。它还应该建立一个.lib 文件,你应该link with your own project。而不是将libzmq.dll 放在 Windows/System32 文件夹中,而应将其放在与项目可执行文件相同的文件夹中。
    • 好吧好吧。对不起,我似乎毫无头绪……我想现在我需要在我的项目中包含 c++ 包装器头文件。 exe 会知道在当前文件夹中查找 dll 吗?
    • 是的,但请确保编译器可以找到libzmq/include/。为此,您应该将 libzmq\include 的(完整或相对)路径添加到include directories。 Windows 对search for DLL's 使用特定的顺序,其中包含可执行文件所在的目录。
    • 好的,为了避免在我的计算机上必须有一个我最终会忘记的文件夹用于包含文件夹(zmq.h 和 zmq_utils.h),是否可以只转储它在我的项目结构中并从那里包含它?另外,我刚刚意识到它编译时没有在包含路径中引用 lib 文件......我很困惑。如果有一个分步指南供以前从未这样做过的人使用...感谢您的帮助。
    猜你喜欢
    • 2015-07-16
    • 2017-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    相关资源
    最近更新 更多