Russian Qt Forum
Ноябрь 24, 2024, 04:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Сборка sql плугина  (Прочитано 4960 раз)
AlekseyK
Гость
« : Июль 26, 2011, 19:42 »

1) Похоже, что последнее время собрать sql плугин для Qt стало невозможным без ручного вмешательства, проблема вот в чём: баг репорт. Т.е. файлы заголовков в 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)
« Последнее редактирование: Июль 28, 2011, 16:23 от AlekseyK » Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #1 : Июль 28, 2011, 16:06 »

йа файрберд на маке собирал месяц нназад на мастерее, по мануалу все ок было. правда сорцы брал из сорцов (сдк не использую принципиально, только либы+креатор и сорцы для экспериментов)
Записан
AlekseyK
Гость
« Ответ #2 : Июль 28, 2011, 16:22 »

Да я в принципе порешал всё, спасибо. Если кому нужно будет решение - пишите. А в обычных библиотеках *_p.h (PIMPL) заголовков нет, поэтому плугин собрать может не получиться - есть только в SDK, и то в 4.7.х есть глюк - их нет, появились обратно только в бете 4.8.
Записан
AlekseyK
Гость
« Ответ #3 : Март 03, 2012, 02:29 »

Взять исходники Qt 4.8.  Я просто думал, что нужно много всего тянуть из Qt, а оказалось, что нужно всего лишь взять 2 файла исходников qsql_sqlite.cpp/h, qsqlcachedresult_p.h (только не заглушку, а полный файл) и 3 файла pri (хотя последние можно выкинуть совсем т.к. особого смысла они не несут) и переправить в них пути на свои. Взял всё это из 4.8 и просто скопировал в свой проект (3 исходника по сути нужны то).
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.094 секунд. Запросов: 23.