Я написал приложение на c ++ с QT, обеспечивающим графический интерфейс и подключение к базе данных, а выбранный драйвер - SQLITE. Когда я работал над собственной системой (обновленной до последней версии Ubuntu desctop 11), где установлены Qt4 SDK и sqlite, все работало. Однако попытка запустить мой исполняемый файл на целевом ПК завершилась неудачей.
Вот мой профессиональный файл:
#-------------------------------------------------
#
# 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 в desctop виртуальной машины из-за ошибки файловой системы.
Другое дело, там нет QT, но установлен sqlite.
Как я могу продемонстрировать работу моего приложения в описанной мной системе? Как я могу создать единый исполняемый дистрибутив моего приложения?
UPDATE
Другая проблема возникла в Ubuntu 11.04 'clen' (без каких-либо обновлений, qt или sqlite). После попытки запустить приложение я получаю сообщение:
error while loading shared libraries: libQtSql.so.4: cannot open shared object file: No such file or directory
Это вызывает у меня еще один вопрос: как я могу встроить эту библиотеку в мое приложение, чтобы исключить необходимость в .so файле?