问题描述
我使用此link为c ++安装了ZeroMQ。我遵循CMake的方法来构建libsodium
和libzmq
项目。成功完成所有步骤之后,我可以在VS2015上针对32种配置的发布和调试模式构建和运行我的应用程序。但是,当我尝试使用x64配置构建相同的项目时,出现以下错误:
1>zmqClientCPP.obj : error LNK2001: unresolved external symbol __imp_zmq_send
1>zmqClientCPP.obj : error LNK2001: unresolved external symbol __imp_zmq_ctx_destroy
1>zmqClientCPP.obj : error LNK2001: unresolved external symbol __imp_zmq_setsockopt
1>zmqClientCPP.obj : error LNK2001: unresolved external symbol __imp_zmq_socket
1>zmqClientCPP.obj : error LNK2001: unresolved external symbol __imp_zmq_strerror
1>zmqClientCPP.obj : error LNK2001: unresolved external symbol __imp_zmq_close
1>zmqClientCPP.obj : error LNK2001: unresolved external symbol __imp_zmq_connect
1>zmqClientCPP.obj : error LNK2001: unresolved external symbol __imp_zmq_ctx_set
1>zmqClientCPP.obj : error LNK2001: unresolved external symbol __imp_zmq_errno
1>zmqClientCPP.obj : error LNK2001: unresolved external symbol __imp_zmq_ctx_new
1>zmqClientCPP.obj : error LNK2001: unresolved external symbol __imp_zmq_msg_init
1>zmqClientCPP.obj : error LNK2001: unresolved external symbol __imp_zmq_msg_data
1>zmqClientCPP.obj : error LNK2001: unresolved external symbol __imp_zmq_msg_size
1>zmqClientCPP.obj : error LNK2001: unresolved external symbol __imp_zmq_msg_recv
1>zmqClientCPP.obj : error LNK2001: unresolved external symbol __imp_zmq_msg_close
1>zmqClientCPP.obj : error LNK2001: unresolved external symbol __imp_zmq_getsockopt
我尝试了以下操作:
-
在
#define ZMQ_STATIC
之前添加了#include <zmq.hpp>
。 -
在项目配置中进行了链接:
properties - > configuration properties -> c/c++ -> General -> additional include directories : C:\libzmq\include;%(AdditionalIncludeDirectories)
properties - > configuration properties -> Linker -> Input : libzmq-v140-mt-4_3_3.lib;%(AdditionalDependencies)
properties - > configuration properties -> Linker -> General -> Additional Library directories : C:\libzmq\lib\;%(AdditionalLibraryDirectories)
问题仍然没有解决。
我不确定我缺少什么。任何帮助将不胜感激。
解决方法
谢谢大家的帮助。
最后,按照以下步骤解决了该问题:
-
使用以下步骤安装
vcpkg
:C:\>git clone https://github.com/microsoft/vcpkg.git
C:\>cd vcpkg
C:\vcpkg>bootstrap-vcpkg.bat
成功安装后,您可以使用来检查所有可用软件包
C:\vcpkg> vcpkg search
命令,或者您可以通过键入过滤器名称C:\vcpkg>vcpkg.exe search zmq
进行过滤,您将看到如下所示的结果:
-
安装完
vcpkg
后,我们必须使用以下命令安装zeromq
:C:\vcpkg> vcpkg.exe install zeromq:x64-windows-static
(对于我来说,我要安装64位) -
此后,我们所有人都准备使用
zeromq
构建我们自己的项目。如果需要链接库方面的帮助,我们可以参考this。