2012/4/29 Jonathan Livni <[email protected]> > I'm trying to build a 0MQ C++ > example<http://zguide.zeromq.org/cpp%3awuserver> using > VS10 and ZeroMQ 2.2.0. > > I downloaded the windows sources<http://download.zeromq.org/zeromq-2.2.0.zip> > and > tried to follow these > instructions<http://lists.zeromq.org/pipermail/zeromq-dev/2011-September/013150.html> > in > order to build 0MQ statically. Specifically: > > - Switched to Release > - For all 7 projects in the solution: > - set General\Configuration Type to Static library (.lib) > - set C/C++\Code Generation\Runtime Library to Multi-threaded (/MT) > - added ZMQ_STATIC to C/C++\Preprocessor\Preprocessor Definitions > - Updated zmq.h and zmq_utils.h so that if _MSC_VER and ZMQ_STATIC are > defined thenDLL_EXPORT will also be defined > > At this point 0MQ seems to build well. > > - Created an empty console project: > - switched to Release > - added a single cpp file with the example linked above > - changed random to rand, srandom to srand and snprintf to > _snprintf > - set C/C++\Code Generation\Runtime Library to Multi-threaded (/MT) > - added ...\zeromq-2.2.0\include folder to C/C++\General\Additional > Include Directories > - added ...\zeromq-2.2.0\builds\msvc\Release\*.lib to > Linker\Input\Additional > Dependencies > > However I still receive the following linking errors: > > 1>zmqexp.obj : error LNK2001: unresolved external symbol __imp__zmq_bind > 1>zmqexp.obj : error LNK2001: unresolved external symbol __imp__zmq_close > 1>zmqexp.obj : error LNK2001: unresolved external symbol __imp__zmq_errno > 1>zmqexp.obj : error LNK2001: unresolved external symbol __imp__zmq_init > 1>zmqexp.obj : error LNK2001: unresolved external symbol __imp__zmq_msg_data > 1>zmqexp.obj : error LNK2001: unresolved external symbol __imp__zmq_strerror > 1>zmqexp.obj : error LNK2001: unresolved external symbol __imp__zmq_socket > 1>zmqexp.obj : error LNK2001: unresolved external symbol > __imp__zmq_msg_init_size > 1>zmqexp.obj : error LNK2001: unresolved external symbol __imp__zmq_term > 1>zmqexp.obj : error LNK2001: unresolved external symbol __imp__zmq_msg_close > 1>zmqexp.obj : error LNK2001: unresolved external symbol __imp__zmq_send > > What have I missed? >
It seems like you added (defined) ZMQ_STATIC only when building 0MQ as static library. You should also add/define ZMQ_STATIC when building your application, otherwise ZMQ_EXPORT in zmq.h defaults to __declspec(dllimport) and you get these linking errors.
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
