Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: AlekseyK от Июль 26, 2011, 19:42



Название: [РЕШЕНО] Сборка sql плугина
Отправлено: AlekseyK от Июль 26, 2011, 19:42
1) Похоже, что последнее время собрать sql плугин для Qt стало невозможным без ручного вмешательства, проблема вот в чём: баг репорт (http://"https://bugreports.qt.nokia.com/browse/QTBUG-9955?focusedCommentId=159899&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-159899"). Т.е. файлы заголовков в Qt SDK лежат не там где нужно, поэтому автоматом собрать плугин не получится, только ручками копировать, а это не удобно. Кто-нибудь сталкивался с таким, это лечится?

2) Кому-то удавалось собрать плугин, если он лежит не дереве Qt (например, \QtSDK\QtSources\4.7.3\src\plugins\sqldrivers\sqlcipher\), а в произвольном месте, чтобы его можно было включить в контроль версий, автоматически собрать, а собранную библиотеку (плугин) прилинковать к своей программе? Интересуют Windows (VS), Linux (Mac по возможности)?

Пример проекта:
Код:
TARGET	 = qsqlcipher

SOURCES = smain.cpp
HEADERS += sqlite3.h stdafx.h
SOURCES += sqlite3.c

include(../../../sql/drivers/sqlite/qsql_sqlite.pri)

QT += sql
SQLITE_TEMP_STORE=2
 
!system-sqlite:!contains( LIBS, .*sqlite.* ) {
    CONFIG(release, debug|release):DEFINES *= NDEBUG
    DEFINES += SQLITE_OMIT_LOAD_EXTENSION SQLITE_OMIT_COMPLETE

    INCLUDEPATH += include

    win32 {
INCLUDEPATH += c:\OpenSSL\include
HEADERS += c:\OpenSSL\include\openssl\evp.h
        LIBS += ./lib/libeay32MD.lib
    }
    unix {
QMAKE_RPATHDIR += lib
        LIBS += -Llib -lsqlite3
    }

} else {
    LIBS *= $$QT_LFLAGS_SQLITE
    QMAKE_CXXFLAGS *= $$QT_CFLAGS_SQLITE
}

include(../qsqldriverbase.pri)


Название: Re: Сборка sql плугина
Отправлено: Авварон от Июль 28, 2011, 16:06
йа файрберд на маке собирал месяц нназад на мастерее, по мануалу все ок было. правда сорцы брал из сорцов (сдк не использую принципиально, только либы+креатор и сорцы для экспериментов)


Название: Re: Сборка sql плугина
Отправлено: AlekseyK от Июль 28, 2011, 16:22
Да я в принципе порешал всё, спасибо. Если кому нужно будет решение - пишите. А в обычных библиотеках *_p.h (PIMPL) заголовков нет, поэтому плугин собрать может не получиться - есть только в SDK, и то в 4.7.х есть глюк - их нет, появились обратно только в бете 4.8.


Название: Re: [РЕШЕНО] Сборка sql плугина
Отправлено: AlekseyK от Март 03, 2012, 02:29
Взять исходники Qt 4.8.  Я просто думал, что нужно много всего тянуть из Qt, а оказалось, что нужно всего лишь взять 2 файла исходников qsql_sqlite.cpp/h, qsqlcachedresult_p.h (только не заглушку, а полный файл) и 3 файла pri (хотя последние можно выкинуть совсем т.к. особого смысла они не несут) и переправить в них пути на свои. Взял всё это из 4.8 и просто скопировал в свой проект (3 исходника по сути нужны то).