尝试调试时,zmq.hpp失败断言

时间:2014-03-11 20:04:36

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

自从我在visual studio中使用c ++以来已经有一段时间了,因此我无法告诉我在尝试运行zmq' hello world客户端的调试实例时出错了。

安装zmq 4.0.3并从github下载zmq.hpp master分支后,我从zmq指南中复制/粘贴了hello world客户端。

使用Visual Studio 2010

我导航到项目属性并包含了包含zmq.h的include文件夹和包含zmq.hpp的文件夹

我还将lib文件夹包含在链接器 - > general->附加库依赖项下,并将libzmq-v100-mt-gd-4_0_3.lib文件添加到链接器 - > input->其他依赖。

我还在项目的Debug文件夹中包含了libzmq-v100-mt-gd-4_0_3.dll。

在清理项目之后,在选择Build-> Build Solution和Build-> Compile时编译好了代码,但是当我运行调试实例时,我在第276行得到断言导致中止。

我不明白为什么会这样,并且可以使用一些帮助找出我需要修复的例子来运行这个例子。

更新

我将c ++代码更改为c代码而不更改任何其他内容,并且我能够无问题地编译和运行。

失败的断言是zmq.hpp文件第267行的rc == 0,这是此代码段中的第二个断言。

inline explicit context_t (int io_threads_, int max_sockets_ = 1024)
{
    ptr = zmq_ctx_new ();
    if (ptr == NULL)
        throw error_t ();

    int rc = zmq_ctx_set (ptr, ZMQ_IO_THREADS, io_threads_);
    ZMQ_ASSERT (rc == 0);

    rc = zmq_ctx_set (ptr, ZMQ_MAX_SOCKETS, max_sockets_);
    ZMQ_ASSERT (rc == 0);
}

0 个答案:

没有答案