Ошибка компоновщика ZeroMQ C++

Я получаю следующую ошибку:

«Ошибка 1, ошибка LNK2019: неразрешенный внешний символ _imp_zmq_init, указанный в функции «public: __thiscall zmq::context_t::context_t(int)» (??0context_t@zmq@@QAE@H@Z ) ZeroMQPlay.obj ZeroMQPlay"

С этим кодом С++:

include "stdafx.h"
include <zmq.hpp>

int _tmain(int argc, _TCHAR* argv[])
{
 zmq::context_t ctx(1);

 return 0;
}

Помогите!


person andyc    schedule 20.12.2010    source источник
comment
Не могли бы вы отформатировать свой вопрос, чтобы код находился в блоке кода.   -  person Aatch    schedule 20.12.2010
comment
Спасибо, Дирк и Аатч, я не знал, как прокомментировать. Новичок в этом месте :)   -  person andyc    schedule 20.12.2010


Ответы (2)


Вы должны сообщить компоновщику о библиотеке ZeroMQ. Если вы создали ZeroMQ как проект VS, самый простой способ — добавить проект ZeroMQ в решение, содержащее ваш собственный проект, и пометить ваш проект как зависимый от него.

person Marcelo Cantos    schedule 20.12.2010
comment
Спасибо, это кажется лучше, чем мое решение. - person andyc; 20.12.2010

Afaiu, вы должны сначала создать библиотеку zeromq и связать ее со своим приложением.

person Shelwien    schedule 20.12.2010
comment
Я создал ZeroMQ, кроме директивы include, что еще нужно сделать, чтобы связать его? Я заметил -lzmq [библиотеки] в документе. #ржавый++ - person andyc; 20.12.2010
comment
PS Я явно включил дополнительную зависимость в C:\zeromq\lib\libzmq.lib, это решило мою проблему. Спасибо, парни. - person andyc; 20.12.2010
comment
Я думаю, вы можете добавить что-то вроде #pragma comment(lib,fullpath\zmq.lib) в свой исходный код, но обычно вы должны указать это в параметрах проекта. - person Shelwien; 20.12.2010