crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Помогите с переносом приложения...
defnull
  опции профиля:
сообщение 24.6.2009, 13:00
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 49
Регистрация: 1.5.2008
Пользователь №: 165

Спасибо сказали: 0 раз(а)




Репутация:   1  


Помогите пожалуйста с переносом приложения, совсем я отчаился сделать это своими силами, да и сроки горят настолько что там успеть бы хоть написать систему.. бьюсь уже который день и толку пока не особо. Вообщем есть WinXp виртуалка на которой стоит VS 2008 + Qt 4.4.3 + POstgresql 8.3.5 Компилировал если мне память не изменяет по дефолту (динамика как я понимаю) + плагин для работы с postgres. Приложение на этой виртуалке нормально работает с базой, тоесть никаких проблем с работой приложения на машине где разрабатываю не возникало. (Плагин подгружается динамически если что а НЕ статически через QIMPORT или как там оно пишется точно..)

Теперь пробую перенести на машину с голой XP. Что я туда кидаю:
admin.exe - собственно приложение

// библиотеки от которых зависит приложения по отчёту програмки Dependency
QtSqld4.dll
QtCored4.dll
QtGuid4.dll

//папки с плагинами
sqldrivers
imageformats

// библиотеки компилятора папки
Microsoft.VC90.CRT
Microsoft.VC90.DebugCRT

// библиотеки postgres
comerr32.dll  
k5sprt32.dll
libiconv-2.dll  
libxml2.dll  
pgaevent.dll
gssapi32.dll  
krb5_32.dll  
libintl-8.dll  
libxslt.dll  
ssleay32.dll
iconv.dll    
libeay32.dll  
libpq.dll      
msvcr71.dll  
zlib1.dll


Почему так много библиотек расскажу чуть ниже.
Вообщем копируем это список на чистую XP, приложение загружается НО
1) при попытке залогиниться к базе пишет Driver not loaded
2) не грузиться иконка приложения

Что я попытался сделать:
1) всевозможные вариации с sqldrivers и imageformats (клал и в plugins и просто в папку с приложением и прописывал path и добавлял чере addLibPath или как там оно)
2) пробовал блокировать доступ к Qt и POstgresql на машине где разрабатываю чтобы выяснить какие ещё библиотеки необходимы приложениею... в результате остановился на
приведённом выше списке, хотя огромное количество библиотек postgresql без которых оно отказывается работать с драйвером очень удивляет
3) пытался выяснить через processexplorer необходимые dll и поставлять их на голую xp вместе с приложением... тоже труба=(
4) убивал ветки реестра вот кстати что пишет в созданных ветка в значение параметра например qsqlpsql4d.dll:
40403
1
Windows msvc debug full-config
2009-04-11T02:11:03

НО самое интересное что при всё при этом в реестре при данном наборе драйвера появляются (у троллей написано про кеширование, так вот они там показываются и обе папки определяются)
НО почему-то приложение отказывается их загружать =((((

Вообщем я уже почти совсем отчаился... буду очень признателен если вы поможете мне распутать это клубок!! Документрацию на предмет работы с плагинами читал, форумы многие излазил но толку пока нету=((( Смущает меня так же что не грузиться и иконка приложения... тоесть не грузятся плагины в принципе =(((

Сообщение отредактировал defnull - 24.6.2009, 13:12
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 24.6.2009, 13:39
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(defnull @ 24.6.2009, 17:00) *
Вообщем копируем это список на чистую XP, приложение загружается НО
1) при попытке залогиниться к базе пишет Driver not loaded
2) не грузиться иконка приложения
Всё сделал, что здесь написано?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
defnull
  опции профиля:
сообщение 24.6.2009, 18:26
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 49
Регистрация: 1.5.2008
Пользователь №: 165

Спасибо сказали: 0 раз(а)




Репутация:   1  


Dependency Walker вообще указывает только эти библиотеки:

QTCORED4.DLL
QTGUID4.DLL
QTSQLD4.DLL
MSVCR90D.DLL
KERNEL32.DLL

Испортировал проект в pro файл + добавил console..
из qt консоли выполнил
qmake -project
nmake

Попробовал выставить set QT_DEBUG_PLUGINS=1
Посыпались ошибки вида Plugin uses incompatible Qt library expected build key "Windows msvc debug full-config", got "Windows msvc release full-config"

Лог прилагаю:
Раскрывающийся текст
QFactoryLoader::QFactoryLoader() looking at "C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qgif4.dll"
In C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qgif4.dll:
Plugin uses incompatible Qt library
expected build key "Windows msvc debug full-config", got "Windows msvc release full-config"
"The plugin 'C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qgif4.dll' uses incompatible Qt library. Expected build key "Windows msvc debug full-config", got "Windows msvc release full-config""
not a plugin
QFactoryLoader::QFactoryLoader() looking at "C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qgifd4.dll"
keys ("gif")
QFactoryLoader::QFactoryLoader() looking at "C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qico4.dll"
In C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qico4.dll:
Plugin uses incompatible Qt library
expected build key "Windows msvc debug full-config", got "Windows msvc release full-config"
"The plugin 'C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qico4.dll' uses incompatible Qt library. Expected build key "Windows msvc debug full-config", got "Windows msvc release full-config""
not a plugin
QFactoryLoader::QFactoryLoader() looking at "C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qicod4.dll"
keys ("ico")
QFactoryLoader::QFactoryLoader() looking at "C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qjpeg4.dll"
In C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qjpeg4.dll:
Plugin uses incompatible Qt library
expected build key "Windows msvc debug full-config", got "Windows msvc release full-config"
"The plugin 'C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qjpeg4.dll' uses incompatible Qt library. Expected build key "Windows msvc debug full-config", got "Windows msvc release full-config""
not a plugin
QFactoryLoader::QFactoryLoader() looking at "C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qjpegd4.dll"
keys ("jpeg", "jpg")
QFactoryLoader::QFactoryLoader() looking at "C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qmng4.dll"
In C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qmng4.dll:
Plugin uses incompatible Qt library
expected build key "Windows msvc debug full-config", got "Windows msvc release full-config"
"The plugin 'C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qmng4.dll' uses incompatible Qt library. Expected build key "Windows msvc debug full-config", got "Windows msvc release full-config""
not a plugin
QFactoryLoader::QFactoryLoader() looking at "C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qmngd4.dll"
keys ("mng")
QFactoryLoader::QFactoryLoader() looking at "C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qsvg4.dll"
In C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qsvg4.dll:
Plugin uses incompatible Qt library
expected build key "Windows msvc debug full-config", got "Windows msvc release full-config"
"The plugin 'C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qsvg4.dll' uses incompatible Qt library. Expected build key "Windows msvc debug full-config", got "Windows msvc release full-config""
not a plugin
QFactoryLoader::QFactoryLoader() looking at "C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qsvgd4.dll"
keys ("svg")
QFactoryLoader::QFactoryLoader() looking at "C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qtiff4.dll"
In C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qtiff4.dll:
Plugin uses incompatible Qt library
expected build key "Windows msvc debug full-config", got "Windows msvc release full-config"
"The plugin 'C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qtiff4.dll' uses incompatible Qt library. Expected build key "Windows msvc debug full-config", got "Windows msvc release full-config""
not a plugin
QFactoryLoader::QFactoryLoader() looking at "C:/Рабочий проект/Личные ветки/admin/Debug/imageformats/qtiffd4.dll"
keys ("tiff", "tif")
QFactoryLoader::QFactoryLoader() looking at "C:/Рабочий проект/Личные ветки/admin/Debug/sqldrivers/qsqlpsql4.dll"
In C:/Рабочий проект/Личные ветки/admin/Debug/sqldrivers/qsqlpsql4.dll:
Plugin uses incompatible Qt library
expected build key "Windows msvc debug full-config", got "Windows msvc release full-config"
"The plugin 'C:/Рабочий проект/Личные ветки/admin/Debug/sqldrivers/qsqlpsql4.dll' uses incompatible Qt library. Expected build key "Windows msvc debug full-config", got "Windows msvc release full-config""
not a plugin
QFactoryLoader::QFactoryLoader() looking at "C:/Рабочий проект/Личные ветки/admin/Debug/sqldrivers/qsqlpsqld4.dll"
keys ("QPSQL7", "QPSQL")
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.


На рабочей машине добавил в папку плагинов, необходимые дллки и как вы можете судить по логу программу запустилась и подхватила драйвер, но оч мне не нравятся эти надписи, особенно
""The plugin 'C:/Рабочий проект/Личные ветки/admin/Debug/sqldrivers/qsqlpsql4.dll' uses incompatible Qt library. Expected build key "Windows msvc debug full-config", got "Windows msvc release full-config"" not a plugin "

Сейчас попробую посмотреть как реагирует голая xp.. правда подозреваю что не заработает

Цитата
Всё сделал, что здесь написано?
Вроде бы да..

Не заработало.. собственно вывод почти такой же как и на dev машине. правда особо ничего и не менял.. с чего ему работать...
На чистой машине:

Раскрывающийся текст

Кусок лога:
QFactoryLoader::QFactoryLoader() looking at "C:/Documents and Settings/Администратор/Рабочий стол/Debug/sqldrivers/qsqlpsql4.dll"
In C:/Documents and Settings/Администратор/Рабочий стол/Debug/sqldrivers/qsqlpsql4.dll:
Plugin uses incompatible Qt library
expected build key "Windows msvc debug full-config", got "Windows msvc release full-config"
"The plugin 'C:/Documents and Settings/Администратор/Рабочий стол/Debug/sqldrivers/qsqlpsql4.dll' uses incompatible Qt library. Expected build key "Windows msvc debug full-config", got "Windows msvc release full-config""
not a plugin
QFactoryLoader::QFactoryLoader() looking at "C:/Documents and Settings/Администратор/Рабочий стол/Debug/sqldrivers/qsqlpsqld4.dll"
"QLibrary::load_sys: Cannot load C:/Documents and Settings/Администратор/Рабочий стол/Debug/sqldrivers/qsqlpsqld4.dll (Приложение не было запущено, поскольку оно некорректно настроено. Повторная установка приложения может решить данную проблему.)"
could not load
QSqlDatabase: QPSQL driver not loaded
QSqlDatabase: available drivers:
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.


Сообщение отредактировал defnull - 24.6.2009, 19:08
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.12.2024, 22:39