qt5.6.0 + webrtc + vs2013
来源:互联网 发布:淘宝订单号查询物流 编辑:程序博客网 时间:2024/06/05 16:31
先描述下这个问题:首先,为了兼容windowsXP,下载了一个比较早版本的webrtc源码包(2014年九月份的版本),使用vs2013编译webrtc, 基于webrtc做了一个dll库,打算将该dll导入到基于qt5.6.0开发的项目工程内,那么现在问题来了,为了在qtCreator中识别dll导出的接口(qt项目工程使用gcc编译),dll必须是纯C方式导出的,这时候qt项目工程能够使用vs2013导出的webrtc dll库中的接口,可是因为qt中的项目过于庞大,导致在后面的阶段,每次修改工程一小部分源码都要编译比较久的时间,开发效率,大大下降!所谓事务都是有两面性的,原来使用qt去开发项目,估计是为了获得比较好的跨平台性能!但是因为要跨平台所以使用了gcc去编译,导致项目工程的编译效率大大下降,这时候的我们应该要区别对待了,发布程序的时候使用gcc编译,不过在平产的开发过程中还是使用microsoft的VS工具吧,同样是使用qtCreator开发,但是在编译的时候编译器在gcc和msvc之间切换即可!然而,问题还没有这么简单,因为之前我使用vs2013编译的dll是win32平台下的,所以如果qtCreator选择了64位的编译器,还是不能使用我们的dll,这个时候就应该重新使用vs2013编译x64版本的对应dll,可惜我下载的支持windows XP的webrtc源码现在并不支持x64平台下的编译,这个只能重新修改、配置所有的项目工程属性了,想想看两百多的项目工程,目前来讲,一个个去配置是比较保险的方法,要是能找到批量修改属性的方法,当然是批量修改的好些!然而迄今没找到,先放一放吧。
以为问题到现在就结束了?怎么可能,世界就是由问题组成的,当我们在qtCreator中使用vs2013_x86版本的编译器编译之前的项目工程时,发现“u8”是不可识别的标志,另外也冒出了其他问题,大多是因为vs2013_x86版本对c++11及其更加高级的c++版本的新特性支持得不够,没办法似乎我们需要选择vs2015_x86版本的编译器,因为dll是被引入到当前的qt工程中的,其实dll中的内容不用再编译一次,dll可都是二进制文件呢,之前我想使用vs2015去编译webrtc源码,期望能够生成dll,就解决这个问题了,但是使用vs2015在编译的时候却爆出了大量的编译错误,想要解决这个问题还得一个个修改项目属性,麻烦!索性使用vs2013编译webrtc dll,将之引入到qt项目中去,使用vs2015_x86版本的编译器编译整个工程,“u8”标志不识别的错误也解决了,dll中的接口也能被识别,至此总算实现了既能跨平台,也能提高工程的编译速度。
- qt5.6.0 + webrtc + vs2013
- VS2013 + QT5.6.0
- VS2013集成Qt5.6.0
- VS2013+Qt5.6.0配置教程
- win10上vs2013 + qt5.6.0 环境搭建
- QT5.6.0 和 vs2013 联合编程
- VS2013+Qt5.6.0+opencv3.0环境配置
- qwtplot3d+QT5.6.0+VS2013+windows10编译
- win10上vs2013 + qt5.6.0 环境搭建
- Qt QWebEngineView的使用(VS2013+Qt5.6.0)
- vs2013编译webrtc
- vs2013 + qt5.4.0
- VS2013配置Qt5.4
- QT5.7 VS2013 Echarts
- VS2013与Qt5 安装
- VS2013+QT5简单使用
- vtk+vs2013+qt5
- vs2013+Qt5.4.1
- Python笔记5——匿名函数,偏函数,模块
- HTTP中GET与POST的区别
- Cocos2d-x 程序是如何开始运行与结束的
- QLayout属性说明
- 普元 EOS Platform 7.6 流程实例完成后,调用queryPersonFinishedWorkItems4SDO查询不到已完成的任务
- qt5.6.0 + webrtc + vs2013
- 机器学习(六)- fminunc函数
- c++(成员函数的)重载、覆盖与隐藏
- github使用详解
- 专家:FOF机构成功的关键是体系建设
- 初探Architecture Components之LiveData
- CSS中外边距叠加问题
- 关系数据库的第一第二第三范式
- lua c++交互终极版(超级详细)