zmq.hpp не может подтвердить утверждение при попытке отладки
Прошло много времени с тех пор, как я работал с c ++ в visual studio, и из-за этого я не могу сказать, когда делаю что-то не так, когда пытаюсь запустить отладочный экземпляр клиента hello world в zmq.
После установки zmq 4.0.3 и загрузки главной ветки zmq.hpp из github я скопировал / вставил клиент hello world из руководства zmq.
Использование Visual Studio 2010
Я перешел к свойствам проекта и включил как папку include, содержащую zmq.h, так и папку, включающую zmq.hpp.
Я также включил папку lib в компоновщик-> общие-> дополнительные зависимости библиотеки и добавил файл libzmq-v100-mt-gd-4_0_3.lib в компоновщик-> input-> дополнительные зависимости.
Я также включил libzmq-v100-mt-gd-4_0_3.dll в папку Debug для проекта.
После очистки проекта код скомпилировался нормально при выборе Build-> Build Solution и Build-> Compile, но когда я запускаю отладочный экземпляр, в строке 276 выдается утверждение, приводящее к прерыванию.
Я не понимаю, почему это происходит, и могу использовать некоторую помощь, чтобы выяснить, что мне нужно исправить, чтобы запустить пример.
ОБНОВИТЬ
Я изменил код C ++ на код C, не меняя ничего другого, и я смог скомпилировать и запустить без проблем.
Неудачное утверждение - это rc == 0 в строке 267 файла zmq.hpp, который является вторым утверждением в этом фрагменте кода.
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);
}