使用 QtPlugin 部署 Qt 控制台应用程序
Deploying Qt console application with QtPlugin
上下文:
我目前正在使用Qt开发多平台服务器端控制台应用程序。我有一台开发计算机(pc-dev)和一台服务器,我想在其中部署我的应用程序(pc-server)。pc-dev配置了所有开发内容(gcc,Qt5,cmake等),但PC服务器没有所有这些工具。两者都运行 CentOs 7。我的应用程序使用插件加载一些扩展其功能的文件。
我的问题 :
由于我的控制台应用程序不使用QtGui/QtWidgets模块,因此我不希望依赖它们(好吧,你会说这很正常)当我编译我的QtPlugin时,生成的*.so文件依赖于 Qt5Gui.so(由ldd myfile.so
确认),因此当我部署应用程序时,加载失败,因为缺少 Qt5Gui.so。
我不明白为什么我有这种依赖关系,因为我的插件不使用 gui 功能。它只是提供了获取版本/文件名/和对它的一些访问权限的方法。唯一包含的文件是"QtPlugin"。
有什么想法吗?
谢谢
我想出了解决方案:我在 *.pro 文件中有:
QT += core
TARGET = MyPlugin
TEMPLATE = lib
CONFIG += plugin
并且似乎默认包含"GUI"模块,因此:
QT -= gui
修复了问题。
相关文章:
- C++控制台应用程序阻止退出
- 如何在 Win32 C++控制台应用程序中调用 UWP 类库
- 是否可以从控制台应用程序使用 C++/WinRT 创建窗口?
- 如何创建一个使用开源c项目的c++控制台应用程序
- c ++控制台应用程序,如何在控制台外部打印字符
- 将控制台应用程序直接输出到Visual Studio而不是外部Windows控制台中
- 如何在 Win32 控制台应用程序中注册不可见的窗口类?
- 如何将从控制台应用程序C++回调设置为C++ COM DLL
- 使用代码在 AWS 开发工具包C++控制台应用程序上设置凭证
- 直接输入控制台应用程序
- C++调试控制台应用程序
- C++控制台应用程序调用C++/CLI静态库
- 如何在控制台应用程序中添加滚动功能以显示更大的输入
- 如何在将Visual Studio C++控制台应用程序连接到Microsoft SQL Server时修复"
- 如何读取windows服务启动的控制台应用程序的输出
- VS2017 中缺少 Win32 控制台应用程序.如何创建C++空项目?
- 将 Visual C++ 6 控制台应用程序作为 Windows 服务运行
- 如何将控制台应用程序放入系统托盘通知C++?
- 如何向控制台应用程序添加图标
- 如何在 Linux/Apache 虚拟主机上运行 win32 控制台应用程序?