• 3957阅读
  • 2回复

[提问]Qt在移动端和桌面端对于第三方库的实现不一样? [复制链接]

上一主题 下一主题
离线yueno3
 

只看楼主 倒序阅读 楼主  发表于: 2015-07-24
用Qt5.5建了个跨平台OpenGL ES2工程
准备使用libpng和zlib库,读取图片


直接打入库源码到项目里面,进行编译
在osx平台上正常
在ios平台报重定义libpng函数重定义



去掉库源码只保留头文件,再编译
在osx平台上报找不到符号链接
在ios平台上正常



要崩溃的感觉,两边实现居然不一样
现在解决方法是配置pro文件,根据不同平台分别进行编译

但是这个写法不和谐啊,本来就是个跨平台工程反而搞那么多条件编译出来,简单看了一下Qt源码里面集成的第三方库可不少,难道每个库都要这么搞一下?

求破……



离线toby520

只看该作者 1楼 发表于: 2015-07-24
osx和iOS还是有差别的,他们的库不能使用同一套来解决,在pro里面还是得区别,或者直接使用第三方源码来处理
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线yueno3

只看该作者 2楼 发表于: 2015-07-24
回 toby520 的帖子
toby520:
osx和iOS还是有差别的,他们的库不能使用同一套来解决,在pro里面还是得区别,或者直接使用第三方源码来处理


感谢回复
估计也没有别的办法了,还是用编辑pro,对不同平台用不同编译配置的方法

在iOS上面Qt自己的静态库是把集成的第三方库全部编译进去的,其中就有libpng……

如果改Qt编译选项就能用自己的libpng了,但是这涉及到很多问题,包括参数配置,还有授权协议,暂时先不折腾了
快速回复
限100 字节
 
上一个 下一个