查看完整版本: [-- Qt在移动端和桌面端对于第三方库的实现不一样? --]

QTCN开发网 -> Qt移动平台开发 -> Qt在移动端和桌面端对于第三方库的实现不一样? [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

yueno3 2015-07-24 00:23

Qt在移动端和桌面端对于第三方库的实现不一样?

用Qt5.5建了个跨平台OpenGL ES2工程
准备使用libpng和zlib库,读取图片


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



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



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

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

求破……




toby520 2015-07-24 08:53
osx和iOS还是有差别的,他们的库不能使用同一套来解决,在pro里面还是得区别,或者直接使用第三方源码来处理

yueno3 2015-07-24 10:32
toby520:
osx和iOS还是有差别的,他们的库不能使用同一套来解决,在pro里面还是得区别,或者直接使用第三方源码来处理


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

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

如果改Qt编译选项就能用自己的libpng了,但是这涉及到很多问题,包括参数配置,还有授权协议,暂时先不折腾了


查看完整版本: [-- Qt在移动端和桌面端对于第三方库的实现不一样? --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled