位置: 编程技术 - 正文

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手机编程软件)

  • 职工福利费会计凭证
  • 转出未交增值税最终怎么转平
  • 非企业员工可以报销差旅费吗
  • 增值税发票管理办法
  • 研发支出指的是什么
  • 价外费用是含税价还是不含税价
  • 盘盈固定资产明细账怎么填写?
  • 一般纳税人什么条件
  • 苗木种植发票免增值税吗
  • 附加税减免所得税汇缴的时候需要调整吗
  • 企业销售不动产增值税政策
  • 结转发出材料会计分录
  • 股东购买固定资产能算实收资本么
  • 具备什么条件的土地可以开发
  • 工会经费拨缴是什么意思
  • 库存盘盈盘亏按进价还是售价
  • 实收资本收到后用途
  • 政府补助结转是什么科目
  • 代别的公司付款怎么做账
  • 公对公转账银行拒绝是什么意思
  • 不能抵扣的进项税怎么做账
  • 某大宾馆因工作需要
  • 一个季度为纳税期限的规定适用
  • 维修属于劳务还是劳务
  • 团队建设费用怎么入账
  • 其他应付款转增股本
  • 开发项目未竣工前土地使用税怎么缴纳
  • 印花税资金账簿减免税优惠政策2021
  • 土地增值税清算报告
  • 装饰公司收到客户工程款做分录
  • 按键盘不起作用怎么办
  • 华为最新款手机2023款
  • win10 专业版 企业版
  • win7缓存设置方法
  • 年应税销售额包含哪些
  • 金融行业如何征收营业税
  • sigmoid函数求导表达式
  • 资产负债所有者权益损益类会计科目
  • 项目版本管理是什么
  • kindeditor编辑器图片上传
  • 汇兑应计入哪个科目
  • 模型调参是调节什么
  • 数据挖掘的四种基本方法
  • ssh远程登录执行命令
  • 餐饮服务专票可以抵税吗
  • 试运行收入账务处理
  • 给离职员工买社保的风险
  • 工程施工二级设哪些明细
  • 外贸出口备案需准备什么资料
  • 机动车发票红冲多了税盘被锁
  • 广告类的公司
  • 加计扣除是指什么意思
  • 停车发票怎么盖章
  • 企业实缴资本如何查
  • 投资款项是什么意思
  • 从增值税抵扣进什么科目
  • 累计折旧减少记哪方
  • 填制会计凭证要求的是
  • 年中重新建账还要年初数吗?
  • 建账内容
  • mysql三层架构
  • mysql join实现原理
  • win7双系统安装教程
  • 了解的反义词
  • win10预览设置
  • centos5.4
  • linux 更改目录名
  • 桌面美化助手
  • win7系统中怎样
  • cocos2d 网页
  • glib库
  • Unity3D面试题整合
  • js绑定onchange
  • 批处理杀死进程
  • 京东试用js脚本
  • unity3d创建模型
  • django admin form
  • 税控盘抄报反写工作难度
  • 小规模开票税金怎么算
  • 税务uk数据怎么导出来
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设