Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: DpoHro от Июнь 07, 2008, 22:07



Название: Как перекомпилировать только один модуль?
Отправлено: DpoHro от Июнь 07, 2008, 22:07
Нужно перекомпилировать модуль QtSql
Вообще проблемы не знаю решит основную или нет, но как пересобрать только один модуль ХЗ подскажите! =)

А основная проблема - дома стоит MYSQL5 на работе 4, на работе проект кажет весь текст нормально, дома вопросы одни. Разница только в версии мускла, вот думаю поставить 4-ку и пересобрать, но всю кутю пересобирать не хочется, вроде можно както один модуль только????


Название: Re: Как перекомпилировать только один модуль?
Отправлено: lit-uriy от Июнь 08, 2008, 00:06
а ты драйвер мускульный как плагин делал или встроеный в Qt'я, если как плагин, модуль SQL вообще трогать не надо, просто плагин пересобери (руководство (http://crossplatform.ru/documentation/qtdoc4.3/sql-driver.php#qmysql-for-mysql-4-and-higher))


Название: Re: Как перекомпилировать только один модуль?
Отправлено: DpoHro от Июнь 08, 2008, 00:13
Мне бы еще рассказать что значит как плагин...

configure.exe -platform win32-msvc2005 -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -qt-sql-mysql -openssl

Вот так вот все делал =)


Название: Re: Как перекомпилировать только один модуль?
Отправлено: DpoHro от Июнь 08, 2008, 00:30
Наверное встроенный в кутя, так как плугина нет


Название: Re: Как перекомпилировать только один модуль?
Отправлено: lit-uriy от Июнь 08, 2008, 00:35
да не плагин, еслиб собирался как плагин то былобы так написано:
-plugin-sql-mysql

тогда не знаю, по моему простым способом никак нельзя, разве что так:
в каталоге %QTDIR%/src/sql
скомандовать:
configure -qt-sql-mysql
qmake
make

но неуверен, что это не испортит имеющуюся сборку.
---
Да и проблема может в настройках соединения с БД, может стоит этот момент проверить?


Название: Re: Как перекомпилировать только один модуль?
Отправлено: DpoHro от Июнь 08, 2008, 00:39
Да и проблема может в настройках соединения с БД, может стоит этот момент проверить?

И там и там дефолтные настройки Мускла


Название: Re: Как перекомпилировать только один модул&#
Отправлено: lit-uriy от Июнь 08, 2008, 00:52
В этом то  и дело, попробуй явно задовать кодировку, может тогда и пересобирать ничего не надо будет.
в следующий раз будет другая версия мускула, и твоя программа перестанет работать - плохо.
Лучше сейчас разобраться в чем дело.


Название: Re: Как перекомпилировать только один модуль?
Отправлено: DpoHro от Июнь 08, 2008, 01:03
Что значит явно?

Первым запросом SET NAMES cp1251 всегда в программе идет.

в main.cpp

Код:
	QTextCodec* codec = QTextCodec::codecForName("CP1251");
QTextCodec::setCodecForTr(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForLocale(codec);
setlocale(LC_ALL,"");

вывод в контролы:
Код:
qCompanyList.record().field("name").value().toString().toLatin1()

В настройках стоит default-charset=latin1
на cp1251 менял но это тоже самое что и SET NAMES cp1251



Название: Re: Как перекомпилировать только один модуль?
Отправлено: lit-uriy от Июнь 08, 2008, 12:11
а какая связь между latin1 и CP-1251?
в виджеты когда ты выводиш с latin1 поидее вообще должны быть одни каракули, странно что у тебя на работе их нет!
делай без latin1:
qCompanyList.record().field("name").value().toString()

и
default-charset=latin1
почему опять latin1 а не CP-1251?


Название: Re: Как перекомпилировать только один модуль?
Отправлено: DpoHro от Июнь 08, 2008, 12:17
почему опять latin1 а не CP-1251?

А потому что это дефолтные настройки нашего хостинга! Собственно как и дефолтные настройки Мускла после устиановки...

Ясное дело что у себя на машине я могу поставить любые, но задача - работать всегда.


Название: Re: Как перекомпилировать только один модуль?
Отправлено: lit-uriy от Июнь 08, 2008, 16:37
в кодировке latin1 нет кирилицы!!!


Название: Re: Как перекомпилировать только один модуль?
Отправлено: DpoHro от Июнь 08, 2008, 17:17
Все таблицы в кодировке cp1251 соединение устанавливается также в этой кодировке COLLATION также.
Это всего лишь дефолтная настройка сервера.