可以在 UOS 重新编译一遍
可以在 UOS 重新编译一遍
假设uos的qt版本后来升级了,那是不是又得重新打包了?
假设uos的qt版本后来升级了,那是不是又得重新打包了?
应该不用
假设uos的qt版本后来升级了,那是不是又得重新打包了?
共享库更新的时候依赖它的包需要 rebuild 是很正常的事情。不过非滚动发行版一般会保持 abi 稳定,可以等大版本更新的时候再重新打包。
你的系统依赖版本都变了肯定要重新编译打包的,不可能一个二进制包通吃的,多多少少都需要针对不同系统做一些调整。
你要想更通用点,可以考虑静态编译或者AppImage这种连依赖一并bundle,不直接依赖系统类库
等玲珑,或者appimage,或者docker
这中兼容性是普片存在的,如果你在uos上编译(qt5.11.3),大概率是能在更高版本qt环境下使用的,但是他不能再低版本使用,这也是很多厂商选在在低版本下编译的原因。但是使用了qt private中的组件(不保证abi兼容性)就只能在当前版本qt环境下使用,如果不是,那就可以在高版本运行,即在uos编译,可以再uos和deepin运行,在deepin编译不能再uos运行
这中兼容性是普片存在的,如果你在uos上编译(qt5.11.3),大概率是能在更高版本qt环境下使用的,但是他不能再低版本使用,这也是很多厂商选在在低版本下编译的原因。但是使用了qt private中的组件(不保证abi兼容性)就只能在当前版本qt环境下使用,如果不是,那就可以在高版本运行,即在uos编译,可以再uos和deepin运行,在deepin编译不能再uos运行
上面几层的朋友也提到了,appimage打包(将qt版本对应组件打入包中)和docker,flatpak打包这种,都是来解决兼容性问题的,基本上要把所有的需要环境都打入包中,同时增大体积,deb包这种应该不行(个人理解)
因为deepin上的Qt版本比uos上的高,所以deepin上编译的到uos上不能用。不过反过来一般是可以的,比如在uos上编译后复制到deepin上用。
另外说一下,“玲珑”就是为了解决这种困境的,无论在哪里编译的,都可以在支持玲珑的系统上运行。
另外说一下,“玲珑”就是为了解决这种困境的,无论在哪里编译的,都可以在支持玲珑的系统上运行。
好的,感谢,学习了
上面几层的朋友也提到了,appimage打包(将qt版本对应组件打入包中)和docker,flatpak打包这种,都是来解决兼容性问题的,基本上要把所有的需要环境都打入包中,同时增大体积,deb包这种应该不行(个人理解)
好的,感谢,学习了
感谢!
Popular Events
More

中文 
在学习qt开发,在deepin的环境(Qt version 5.15.6)做了个小程序,如何在uos环境(Qt version 5.11.3)运行,目前报错:
需要打包的时候把所有依赖库都打进去么,或者还有其他方法没?