Đây có thể là câu hỏi của Visual Studio hơn bất kỳ điều gì khác ...
Tôi đang cố gắng xây dựng a 0MQ C++ example bằng cách sử dụng VS10 và ZeroMQ 2.2.0.
Tôi đã tải xuống windows sources và cố gắng theo dõi these instructions để xây dựng 0MQ tĩnh. Cụ thể là:liên kết với thư viện tĩnh 0MQ trong VS
- Chuyển sang Thả
- Đối với tất cả 7 dự án trong dung dịch:
- thiết
General\Configuration Type
-Static library (.lib)
- thiết
C/C++\Code Generation\Runtime Library
đểMulti-threaded (/MT)
- thêm
ZMQ_STATIC
đểC/C++\Preprocessor\Preprocessor Definitions
- thiết
- Cập nhật
zmq.h
vàzmq_utils.h
để nếu_MSC_VER
vàZMQ_STATIC
được định nghĩa sau đóDLL_EXPORT
cũng sẽ được xác định
Tại thời điểm này 0MQ dường như để xây dựng tốt.
- Tạo một giao diện điều khiển dự án có sản phẩm nào:
- chuyển sang Thả
- thêm một file cpp duy nhất với các ví dụ liên kết ở trên
- thay đổi
random
-rand
,srandom
đểsrand
vàsnprintf
-_snprintf
- thay đổi
- thiết
C/C++\Code Generation\Runtime Library
đểMulti-threaded (/MT)
- thêm
...\zeromq-2.2.0\include
thư mục đểC/C++\General\Additional Include Directories
- thêm
...\zeromq-2.2.0\builds\msvc\Release\*.lib
đểLinker\Input\Additional Dependencies
Tuy nhiên tôi vẫn nhận được lỗi liên kết sau đây:
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
Tôi phải làm gì nhỡ?
Để làm rõ, xác định ZMQ_STATIC có nghĩa là không có đánh dấu DLL nào được sử dụng (không phải __declspec (dllimport) hoặc __declspec (dllexport) được xác định) –