- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个用纯 C++ 和 Qt 5.5.1 编写的应用程序。它在 GCC (Lubuntu 15.10 x86) 和 MSVC 14.0 (Windows 8.1 x64) 中编译良好,并且在这两个平台上都能正常工作。我现在想分发它,以便它可以在其他 Linux 发行版上运行,而无需在那里重新编译它们。
我不完全确定如何实现这一目标; Qt docs page通常建议静态链接所有内容,但这并不是大多数其他来源所说的(据我所知,静态链接 glibc
是个坏主意)。在任何情况下,我都不能真正地静态链接所有内容,因为 GCC 提示说在静态链接的应用程序中使用“getaddrinfo”需要在运行时使用来自 glibc 版本的共享库用于链接
据我所知,这不是一个可以简单忽略的警告。我厌倦了仅针对 libgcc
和 libstdc++
进行静态链接,我复制了其他缺少的库 - libXau.so.6
、libXdmcp .so.6
和 libxcb.so.1
在干净的 CentOS 7 安装上并尝试在那里运行程序,但这给了我一个段错误;可能是因为系统是 64 位的,而不是我编译应用程序的平台?
最佳答案
我的建议是提供两种构建:一种不受支持的完全静态构建,可以“随处”使用,但带有星号表示如果它是商业产品则您无法支持它。人们会尝试在他们的冰箱上运行它,我没有骗你。官方支持的构建必须仅适用于特定平台,并且您必须拥有运行这些平台的 VM/测试目标,以及您构建和测试的位置。
关于c++ - 在多个 Linux 发行版上部署 Qt 5.5.1 C++ 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34363060/
我是一名优秀的程序员,十分优秀!