vs2017引用最新的zmq通讯库仍然报错:无法解析的外部符号

报错如下:

在这里插入图片描述

解决

排除了所有头文件,lib库,字符集,预处理器等问题,原因出在这里:
在引用zmq静态库lib时,首先要预处理器添加宏:

ZMQ_STATIC
ZMQ_USE_TWEETNACL

连接器->输入->附加依赖项里还要添加以下三个库:

wsock32.lib
ws2_32.lib
Iphlpapi.lib

为保险起见,(我就是链接器配置好了仍然不管用),在zmq发布订阅端类的定义文件.cpp里再加入以下一段代码:

#pragma comment(lib, "libzmq.lib")  //”“里是你lib文件夹下zmq静态库名称

为什么说在发布订阅这个模式的类里面加呢,因为在其他如请求/应答模式下没有这个问题,不清楚为什么发布订阅就识别不到配置项里的zmq的lib库。非得戳它脸上指定才行。

错误总是出的莫名其妙。
仅记录一下。

更新:3.22使用zmq出现同样问题,配置链接库识别不到,需在代码里添加:

#pragma comment(lib, "libzmq.lib")

另外附上常规解决方法的大神链接:
1.lib库无法解析的外部符号的几种情况
2.vs配置zmq静态库和动态库

不怕慢,就怕站。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
根据引用,要在VS2017中配置ZMQ,首先需要下载ZMQ的正式版本,可以从https://github.com/zeromq/libzmq/releases下载libzmq的压缩文件。将文件解压到指定文件夹中,比如D:\zeromq。然后使用VS2017打开工程文件" D:\zeromq\zeromq-4.2.5\builds\msvc\vs2015\libzmq.sln",选择确定进行工程升级。最后编译项目,但是可能会有6个项目编译不成功的提示。 根据引用,选择ZMQ框架是为了实现联机对战功能,而不直接使用winsock。ZMQ的安装过程可能会有一些困难,但也会学到一些东西。同时,ZMQ的作者Pieter Hintjens因癌症去世,但他留下的作品仍然在影响着世界。 根据引用,一些问题可能会出现在使用VS编译sln文件时,因为早期的sln文件是由cmake生成的,所以在编译过程中可能会出现路径引用不正确的问题。解决方案是打开libzmq.import.props文件,将引用路径中的“...\libzmq”去掉,并将项目名称修改为libzmq。 综上所述,要在VS2017中配置ZMQ,需要下载ZMQ的压缩文件并解压到指定文件夹,然后使用VS2017打开工程文件并进行升级,最后编译项目。可能会遇到一些编译错误,可以根据引用中提供的解决方案进行修复。123 #### 引用[.reference_title] - *1* *3* [VS2017平台编译 zmq-4.2.5 过程](https://blog.csdn.net/vevenlcf/article/details/86580094)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *2* [Windows10 + Visual Studio 2017环境为C++工程安装使用ZMQ](https://blog.csdn.net/dingguayi7025/article/details/101642914)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值