位置: 编程技术 - 正文

vs2010 编译mosquitto win32版本,开启websockets,实现消息推送(vs2010编译器在哪里?)

编辑:rootadmin

推荐整理分享vs2010 编译mosquitto win32版本,开启websockets,实现消息推送(vs2010编译器在哪里?),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vs2010编译在哪,vs2010编译器在哪里?,vs2010编译器在哪里?,vs2019编译按钮在哪,vs2010如何编译,VS2010 编译 qt5.8,VS2010 编译 qt5.8,VS2010 编译 qt5.8,内容如对您有帮助,希望把文章链接给更多的朋友!

前言:因为之前没有怎么碰vs,只搞过cygwin,而cygwin上搞了好久都搞不定,以至于重新整理思路,这window上的版本应该怎么去编译。一直不知道怎么搞,只能边看其他教程,边自己搞着,连续几天下了班就可以研究编译,特别是在开启websockets的时候,加上libwebsockets库,对于小白来说,特别痛苦。也罢,最后也成功编译。

编译的电脑:MacBook Pro 虚拟机win7,bit,1.5G的内存 参考: 下载vs

我下了个旗舰版的,不过只有天试用期,无妨,编译就够了。 ps:之前用过vs去编译,然后各种莫名其妙,如果有同学知道为什么的,请留言。

2. 下需要的库。

c-ares 我下的是当时最新的1..0,c-ares-1..0.tar.gz pthreads 2.9.1,pthreads-w-2-9-1-release.zip openssl 我下的是当时最新的1.0.2a,WinOpenSSL-1_0_2a.exe cmake 我下的是当时最新的3.2.2,cmake-3.2.2-win-x.exe libwebsocket 1.4,libwebsockets-1.4-chrome-firefox-.tar.gz mosquitto 我下的是当时最新的1.4.2,mosquitto-1.4.2.tar.gz

3. 安装库。

安装文件,源码文件都放在C:application 1)先安装vs,我是完全安装,为了减少其他因素的影响。 2)解压c-ares,路径为C:applicationc-ares-1..0 3)解压pthreads,然后把Pre-built.2里include的文件复制到C:Program Files (x)Microsoft Visual Studio .0VCinclude Pre-built.2里lib的文件复制到C:Program Files (x)Microsoft Visual Studio .0VClib 4)安装openssl,路径为C:OpenSSL-Win 5)安装cmake,在开始菜单生成了cmake-gui.exe程序。 6)解压libwebsocket,这是源码来的,需要vs编译一下。 打开cmake-gui,如下

在第三步的时候,弹出个对话框,选择Visual Studio 即可,不要选择bit,切记。 等一会儿,如下

在C:build-websocket就生成了vs的工程,找到libwebsockets.sln,双击打开。

生成了比较重要的东西,后面要用到: C:build-websocketbinMinSizeRel libeay.dll ssleay.dll websockets.dll C:build-websocketlibMinSizeRel websockets.lib ZLIB.lib

7)解压mosquitto,路径为C:applicationmosquitto-1.4.2

4. 准备编译mosquitto1.4.2

打开cmake-gui,依次点1,2,3步,最后出现c-ares找不到

然后配置相关选项,如下

在这里C:build,用vs打开mosquitto.sln,在“输出”窗口发现好多错误

原来是这些文件里面日期字符串的星期几导致的。于是把上面提到的文件里的乱码删掉,即把“周几”删掉,如:

mosquittopp.vcxproj文件中 报错,名称不能以“>”字符(十六进制值 0x3E)开头。后面还有几处类似改法。

重新打开mosquitto.sln,项目右键开始生成。

报一推错误,大意是libwebsockcets的函数找不到。

vs2010 编译mosquitto  win32版本,开启websockets,实现消息推送(vs2010编译器在哪里?)

在解决方案资源管理器中找到mosquitto,右键,属性。

在打开的mosquitto属性页里,依次打开配置属性,链接器,输入,附加依赖性。

点击右边的小三角,出来附加依赖项页面。把最后的websockets.lib改成正确的lib文件路径。

再项目右键重新编译一下。

如果遇到无法打开mosquitto.lib,表明某个子工程需要依赖libmosquitto这个工程,在子工程右键“项目依赖项”里面勾上libmosquitto就可以了。

如果遇到一堆红色的错误,无法解析外部符号,就表明某些库没有引用,就要在附加依赖性添加对应的lib。或者复制到 C:Program Files (x)Microsoft Visual Studio .0VClib

如果遇到缺少某个.h头文件的,需要把对应的头文件复制到C:Program Files (x)Microsoft Visual Studio .0VCinclude

此时主程序在: C:buildsrcMinSizeRelmosquitto.exe C:buildsrcMinSizeRelmosquitto_passwd.exe

C:buildclientMinSizeRelmosquitto_pub.exe C:buildclientMinSizeRelmosquitto_sub.exe

当然,这里选择Release也是可以的。

如果想把生成的东西放在一起,就要填输出路径了。子工程右键属性,配置属性,常规,输出目录,改维c:buildoutput,其他子工程也一样修改。

改好后,重新生成。

此时,还是打不开主程序的,提示缺少websockets.lib, 于是复制C:build-websocketlibMinSizeRelwebsockets.lib -> c:buildoutput 再把需要的w文件搬过来,如下 C:applicationmosquitto-1.4.2mosquitto.conf -> c:buildoutput C:build-websocketbinMinSizeRellibeay.dll -> c:buildoutput C:build-websocketbinMinSizeRelssleay.dll -> c:buildoutput C:pthreadsPre-built.2dllxpthreadVC2.dll -> c:buildoutput 现在的目录如下:打开看看,可以运行。

先把mosquitto.conf里的Extra listeners开启一下:listener ,protocol websockets 测试一下mqtt和websockets方式,同时开启的方式:

如出现错误0xd, 装vcredist_x.exe即可解决。

ps:在完成编译之前遇到好多问题,vs报好多错误,解决不了,特别是最后编译通过打开exe就报应用程序不能正常启动 (0xcb)。特别吐血,在绝望之际,查到位编译使用位库,或者位编译使用位库就回出现这种情况,于是我把原来cmake生成vs工程的配置由vs x,改成vs x,即后来vs主界面中间显示WIN,而不是x,坑了好久,反正以后记住了,无论系统是不是位的,一律使用位库和位编译。

到此,编译完成,我会把编译过程上传到csdn,敬请关注。

补充资源链接:点我跳转

Android 编程下 Touch 事件的分发和消费机制 本文转自:

Android酷炫实用的开源框架(UI框架) Android酷炫实用的开源框架(UI框架)前言忙碌的工作终于可以停息一段时间了,最近突然有一个想法,就是自己写一个app,所以找了一些合适开源控件

Android快速开发--使用ORMLite操作数据库 OrmLite是一个数据库操作辅助的开源框架,主要面向Java语言。在Android面向数据库开发中,是一个比较流行的开源框架,方便操作而且功能强大,今天来

标签: vs2010编译器在哪里?

本文链接地址:https://www.jiuchutong.com/biancheng/382254.html 转载请保留说明!

上一篇:[置顶] android利用线程池高效实现异步任务([置顶]星陨计划)

下一篇:Android 编程下 Touch 事件的分发和消费机制(androidstudio手机编程软件)

  • 解除劳动合同支付违约金合法吗
  • 结转和结转到的区别
  • 企业购入固定资产在每期末应使用公允价值法进行计量
  • 开出收据要做财务报表吗
  • 销售并提供安装的税率
  • 银行证书年费计入什么科目
  • 个体工商户需要报税吗
  • 小规模纳税人每季度报税清盘
  • 如何根据会计凭证登记账簿
  • 通行费电子增值税怎么算
  • 超市顾客返利如何做账务处理?
  • 股东投资款是否可以现金支付
  • 税务系统出问题怎么办
  • 个税返还交所得税吗
  • 快递公司需要交税吗
  • 印花税计提会计分录
  • 维修材料费主要包括
  • 单张发票不超过1万
  • 母公司吸收合并全资子公司
  • 公司招待技术维护方案
  • 无偿使用固定资产如何缴税
  • 模具费属于什么费用
  • 什么是要约的撤销
  • 联想一体机如何调节屏幕亮度
  • 税额差异会计分录
  • 子公司转为分公司,是不是需要缴纳土地增值税
  • steam怎么退款申请退款要多久
  • 苹果a1586是什么配置
  • windows未能正常启动
  • To install them, you can run: npm install --save core-js/modules/es.array.push.js
  • 代开发票要带什么资料去税务局办理?
  • 现金日记账采用三栏式
  • 公允价值变动损益借贷方向增减
  • php框架实例
  • ajax调用php接口
  • yaf框架优缺点
  • php时间戳转换成时间
  • 公允价值模式的特点
  • 实用的开源软件
  • 数据分析课
  • 哪些发票是成品发票
  • 销售旧货怎么填写申报表
  • 出纳收到现金会计分录
  • 金蝶标准版怎么查应收应付款
  • 中小型企业营业额和从业人数
  • 公司帐户转到法人帐户用途写备用金行吗
  • 一般纳税人报税流程详细操作
  • 工业用地便宜
  • 土地免缴土地使用税
  • 增值税发票抵扣联丢失怎么办
  • 个人无需办理汇票业务
  • 转增资本需要交税吗
  • 研发费用 汇算清缴
  • 检测费用开票税率
  • 代缴社保会计分录
  • 外经证预交税款可以以后月份抵扣吗
  • 销售一批产品给丙公司,该批产品标价200万yuan
  • 票据粘贴处怎么粘
  • mysql动态sql语句赋值
  • win制作mac启动
  • win7系统开机后很卡什么原因
  • iusb3mon.exe是什么
  • win10 右下角
  • linux监控软件zabbix
  • linux find命令用法
  • css 网页布局
  • 微信小程序自定义相机
  • js的文件操作
  • Linux删除大量文件
  • javascript写html
  • linux 检查网络状态
  • 超实用的八个开车技巧
  • 编写一个c#
  • 深入浅析是什么意思
  • jquery ui draggable
  • jQuery 获取跨域XML(RSS)数据的相关总结分析
  • 常用的javascript对象
  • 陕西税务局官网登录
  • 深圳海吉星管理处电话
  • 济宁高新区税务局办税大厅电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设