簡體   English   中英

使用QtPlugin部署Qt控制台應用程序

[英]Deploying Qt console application with QtPlugin

上下文 :

我目前正在使用Qt開發多平台服務器端控制台應用程序。 我有一台開發計算機(pc-dev)和一台服務器,我要在其中部署應用程序(pc-server)。 pc-dev配置了所有開發內容(gcc,Qt5,cmake等),但是pc-server沒有所有這些工具。 兩者都運行CentOs7。我的應用程序使用插件來加載一些擴展其功能的文件。

我的問題 :

由於我的控制台應用程序不使用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

解決了問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM