gpt4 book ai didi

linux - QT/SQLITE应用部署问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:10:52 30 4
gpt4 key购买 nike

我用提供 GUI 和数据库连接的 QT 在 C++ 上编写了一个应用程序,并且选择的驱动程序是 SQLITE。当我在我自己的系统上工作时(更新到最新版本的 Ubuntu desctop 11),安装了 Qt4 SDK 和 sqlite,一切正常。但是,尝试在目标 PC 上启动我的可执行文件以失败告终。

这是我的专业文件:

#-------------------------------------------------
#
# Project created by QtCreator 2011-05-22T09:15:05
#
#-------------------------------------------------

QT += core gui sql

TARGET = Peacecourse
TEMPLATE = app


SOURCES += main.cpp\
mainwindow.cpp \
goodtable.cpp

HEADERS += mainwindow.h \
peaceCon.h \
goodtable.h

FORMS += mainwindow.ui \
goodtable.ui

CONFIG += static
#wince*: DEPLOYMENT_PLUGIN += qsqlite

对于部署,我所做的只是复制我的可执行文件(因为它适用于我自己的系统)。结果,我收到有关缺少 QSQLITE 驱动程序的消息,程序自然不会继续运行。

关于目标系统的一些信息:据我所知,它是 Ubuntu,中等老旧;我没有根权限,安装 QT 是毫无疑问的。但是,它有一个 Sun Virtual Box,原则上可以在虚拟机上创建所需的环境。但是(我责怪那里的硬件不好)当我尝试这样做时,由于文件系统错误,我在虚拟机桌面复制 QT 安装文件的步骤停止了。

另一件事是,那里没有 QT,但安装了 sqlite。

如何在我描述的系统上演示我的应用程序的工作?我如何创建我的应用程序的单一可执行分发?

更新

'clen' Ubuntu 11.04(没有任何更新,qt 或 sqlite)出现了另一个问题。尝试启动应用程序后,我收到消息:

error while loading shared libraries: libQtSql.so.4: cannot open shared object file: No such file or directory

这给我带来了另一个问题:我怎样才能将这个库嵌入到我的应用程序中以消除对 .so 文件的需求?

最佳答案

您还需要部署 sqlite 插件:它在您的 sdk 中的 plugins/sqlrivers 中

很可能,您会想要查看此页面,关于 building installers (check generic section)

如果我没记错的话,将这个文件部署到一个正确命名的子文件夹中就足够了。

编辑:

你可以看看Qt official doc清楚地了解在运行时如何搜索插件。基本上,您可能必须使用您的二进制路径调用 QCoreApplication::addLibraryPath() 并将您的插件部署在名为 sqldrivers 的子文件夹中。仅将文件夹放在当前路径中是不够的。

关于linux - QT/SQLITE应用部署问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6108402/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com