在 Visual Studio '13 项目中设置 ZeroMQ
Setting up ZeroMQ in a Visual Studio '13 Project
我正在尝试让 ZeroMQ 与我的 C++ 项目一起工作。我想做 ZeroMQ Hello World 教程,如下所示:
// Hello World server
#include <zmq.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <assert.h>
int main (void)
{
// Socket to talk to clients
void *context = zmq_ctx_new ();
void *responder = zmq_socket (context, ZMQ_REP);
int rc = zmq_bind (responder, "tcp://*:5555");
assert (rc == 0);
while (1) {
char buffer [10];
zmq_recv (responder, buffer, 10, 0);
printf ("Received Hello\n");
sleep (1); // Do some 'work'
zmq_send (responder, "World", 5, 0);
}
return 0;
}
然而,每当我尝试编译和运行它时,Visual Studio 说它找不到 zmq.h 或我正在使用的任何 ZeroMQ 方法。我已经从 http://zeromq.org/distro:microsoft-windows 安装了 ZeroMQ,我还需要做什么才能让它工作?
你应该先 download and install 0MQ。
然后您将能够配置您的项目属性以指向正确的包含和库路径。
包括headers:
- 右键单击项目 -> 属性 -> C/C++ -> 常规
- 编辑'Additional Include Directories'
- 添加C:\程序Files\ZeroMQ4.0.4\include
- 右击'Header Files' -> 添加 -> 现有项 -> C:\Program Files\ZeroMQ 4.0.4\include\zmq.h
添加库目录:
- 右键单击项目 -> 属性 -> 链接器 -> 常规
- 编辑'Additional Library Directories'
- 添加C:\Program Files\ZeroMQ 4.0.4\lib\
链接到正确的库:
- 右键单击项目 -> 属性 -> 常规
- 检查"Platform Toolset",注意版本号(例如:v120)
- 配置属性 -> 链接器 -> 输入
- 编辑'Additional Dependencies'
- 添加适当的工具集库(例如:libzmq-v120-mt-gd-4_0_4.lib)“-gd-”是调试版本
确保您的应用是 64 位的
- 构建 -> 配置管理器
- 活动解决方案平台 -> 新建...
- Selectx64
- 从 Win32 复制设置
- 右键单击项目 -> 属性 -> 链接器 -> 所有选项
- 编辑 "Output File" 设置为“.\x64\Debug\whatever.exe”
包含 pre-compiled dll 作为分发资源
- 右键单击项目 -> 属性 -> 生成事件 -> Post-Build 事件
- 编辑"Command Line"
- 插入复制命令
例如:
copy /Y "C:\Program Files\ZeroMQ 4.0.4\bin\libzmq-v120-mt-gd-4_0_4.dll" "$(OutDir)"
我正在尝试让 ZeroMQ 与我的 C++ 项目一起工作。我想做 ZeroMQ Hello World 教程,如下所示:
// Hello World server
#include <zmq.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <assert.h>
int main (void)
{
// Socket to talk to clients
void *context = zmq_ctx_new ();
void *responder = zmq_socket (context, ZMQ_REP);
int rc = zmq_bind (responder, "tcp://*:5555");
assert (rc == 0);
while (1) {
char buffer [10];
zmq_recv (responder, buffer, 10, 0);
printf ("Received Hello\n");
sleep (1); // Do some 'work'
zmq_send (responder, "World", 5, 0);
}
return 0;
}
然而,每当我尝试编译和运行它时,Visual Studio 说它找不到 zmq.h 或我正在使用的任何 ZeroMQ 方法。我已经从 http://zeromq.org/distro:microsoft-windows 安装了 ZeroMQ,我还需要做什么才能让它工作?
你应该先 download and install 0MQ。 然后您将能够配置您的项目属性以指向正确的包含和库路径。
包括headers:
- 右键单击项目 -> 属性 -> C/C++ -> 常规
- 编辑'Additional Include Directories'
- 添加C:\程序Files\ZeroMQ4.0.4\include
- 右击'Header Files' -> 添加 -> 现有项 -> C:\Program Files\ZeroMQ 4.0.4\include\zmq.h
添加库目录:
- 右键单击项目 -> 属性 -> 链接器 -> 常规
- 编辑'Additional Library Directories'
- 添加C:\Program Files\ZeroMQ 4.0.4\lib\
链接到正确的库:
- 右键单击项目 -> 属性 -> 常规
- 检查"Platform Toolset",注意版本号(例如:v120)
- 配置属性 -> 链接器 -> 输入
- 编辑'Additional Dependencies'
- 添加适当的工具集库(例如:libzmq-v120-mt-gd-4_0_4.lib)“-gd-”是调试版本
确保您的应用是 64 位的
- 构建 -> 配置管理器
- 活动解决方案平台 -> 新建...
- Selectx64
- 从 Win32 复制设置
- 右键单击项目 -> 属性 -> 链接器 -> 所有选项
- 编辑 "Output File" 设置为“.\x64\Debug\whatever.exe”
包含 pre-compiled dll 作为分发资源
- 右键单击项目 -> 属性 -> 生成事件 -> Post-Build 事件
- 编辑"Command Line"
- 插入复制命令
例如:
copy /Y "C:\Program Files\ZeroMQ 4.0.4\bin\libzmq-v120-mt-gd-4_0_4.dll" "$(OutDir)"