上下文:
我目前正在使用Qt开发一个多平台服务器端控制台应用程序。我有一台开发计算机(pc-dev)和一台服务器,我想在其中部署我的应用程序(pc- server )。pc-dev配置了所有的开发工具(gcc,Qt5,cmake等)。但是pc服务器并没有所有这些工具。我的应用程序使用插件来加载一些文件,扩展了它的功能。
我的问题:
由于我的控制台应用程序不使用QtGui / QtWidgets模块,所以我不希望在编译QtPlugin时依赖它们(这是正常的),生成的*.so文件依赖于Qt5Gui.so (由ldd myfile.so确认),因此当我部署应用程序时,加载失败,因为Qt5Gui.so丢失了。
我不明白为什么我有这种依赖性,因为我的插件不使用gui功能。它只是提供了获取版本/文件名/以及对它的一些访问的方法。包含的唯一文件是"QtPlugin“。
有什么想法吗?
谢谢
发布于 2016-01-18 14:58:21
我想出了解决方案:我在*.pro文件中有:
QT += core
TARGET = MyPlugin
TEMPLATE = lib
CONFIG += plugin默认情况下,"gui“模块似乎包括在内,因此:
QT -= gui解决了这个问题。
https://stackoverflow.com/questions/34856602
复制相似问题