QSqlCipher; на другом пк: driver not loaded. |
Здравствуйте, гость ( Вход | Регистрация )
QSqlCipher; на другом пк: driver not loaded. |
AntonH851 |
13.9.2010, 9:30
Сообщение
#1
|
Студент Группа: Участник Сообщений: 66 Регистрация: 20.2.2010 Из: Шебекино Пользователь №: 1475 Спасибо сказали: 1 раз(а) Репутация: 0 |
Добрый день!
Возникла проблема переноса программы.... На моем пк, где я собирал sqlcipher, все работает. Хотя почему-то плагин загружается из каталога C:\Qt\2010.02\qt\plugins\sqldrivers\qsqlsipher4.dll, а не из каталога программы \sqldrivers\qsqlsipher4.dll. А на другом выдает Driver not loaded. Создал каталог C:\Qt\2010.02\qt\plugins\sqldrivers и скопировал туда драйвера, не помогло . Пробовал через FileMon смотреть, тоже ничего не дало. Как сделать программу с SqlCipher переносимой? |
|
|
molchanoviv |
13.9.2010, 9:37
Сообщение
#2
|
Старейший участник Группа: Сомодератор Сообщений: 597 Регистрация: 18.7.2008 Из: Саратов Пользователь №: 238 Спасибо сказали: 41 раз(а) Репутация: 5 |
Практически весь раздел "Qt Разработка баз данных" состоит из обсуждения этой проблемы.
|
|
|
AntonH851 |
13.9.2010, 10:01
Сообщение
#3
|
Студент Группа: Участник Сообщений: 66 Регистрация: 20.2.2010 Из: Шебекино Пользователь №: 1475 Спасибо сказали: 1 раз(а) Репутация: 0 |
Практически весь раздел "Qt Разработка баз данных" состоит из обсуждения этой проблемы. Дело в том, что как обычно копирование sqldrivers в каталог с программой не помогает.... Правда при сборке драйвера у меня не появился файл libqsqlcipher.so Цитата В каталоге ~/qtsdk/qt/plugins/sqldrivers у Вас должен появиться файл libqsqlcipher.so Может из-за этого проблема? Сообщение отредактировал AntonH851 - 13.9.2010, 10:20 |
|
|
igor_bogomolov |
13.9.2010, 10:32
Сообщение
#4
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Цитата(AntonH851) Правда при сборке драйвера у меня не появился файл libqsqlcipher.so Ты же под Windows компилируешь. Поэтому вместо .so создается .dll Цитата(AntonH851) C:\Qt\2010.02\qt\plugins\sqldrivers\qsqlsipher4.dll OpenSSL не забыл на другом ПК установить? |
|
|
AntonH851 |
13.9.2010, 10:44
Сообщение
#5
|
Студент Группа: Участник Сообщений: 66 Регистрация: 20.2.2010 Из: Шебекино Пользователь №: 1475 Спасибо сказали: 1 раз(а) Репутация: 0 |
OpenSSL не забыл на другом ПК установить? Не забыл, это не помогло. Т.е. для корректной работы надо: 1. создать в папке с программой папку sqldrivers и в нее положить qsqlcipher4.dll 2. установить OpenSSL Это все? Сообщение отредактировал AntonH851 - 13.9.2010, 11:00 |
|
|
Litkevich Yuriy |
13.9.2010, 10:52
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
igor_bogomolov |
13.9.2010, 10:59
Сообщение
#7
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Цитата(AntonH851) Это все? Если папка с программой = папке где располагается exe файл запуска программы, то да, всё делаешь правильно. Тем не менее видимо какие то зависимости не удовлетворены. Не знаю что и посоветовать. У меня не будет возможность сегодня проверить. В Total Comander есть замечательная утилита показывающая зависимости dll и пути их поиска. Вызывается по F3 на dll'ке. Попробуй с ее помощью посмотреть что хочет qsqlcipher4.dll и где он это пытается найти Ага, вот и Юра правильно подсказывает. Библиотека и программа должны быть собраны в одном режиме, либо debug, либо release |
|
|
AntonH851 |
13.9.2010, 11:01
Сообщение
#8
|
Студент Группа: Участник Сообщений: 66 Регистрация: 20.2.2010 Из: Шебекино Пользователь №: 1475 Спасибо сказали: 1 раз(а) Репутация: 0 |
Оказывается не работало из-за отсутствия Microsoft Visual C++ 2008 Redistributable
Попробовал переустановить OpenSSL и выдало сообщение что не хватает этого компонента, первый раз не заметил почему-то его.... Теперь все работает. Сообщение отредактировал AntonH851 - 13.9.2010, 11:03 |
|
|
Алексей1153 |
13.9.2010, 11:03
Сообщение
#9
|
фрилансер Группа: Участник Сообщений: 2939 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
AntonH851, в пакете студии есть инструмент depends.exe . Позволяет посмотреть, какие библиотеки хочет экзешник, какие он нашёл, какие нет (и где нашёл - путь можно посмотреть)
Я при помощи этого тула заставил Qt'шную программу заработать у заказчика ))) Скопировал все релизные варианты DLL в папку с экзешником. Сообщение отредактировал Алексей1153 - 13.9.2010, 11:05 |
|
|
AntonH851 |
13.9.2010, 11:08
Сообщение
#10
|
Студент Группа: Участник Сообщений: 66 Регистрация: 20.2.2010 Из: Шебекино Пользователь №: 1475 Спасибо сказали: 1 раз(а) Репутация: 0 |
AntonH851, в пакете студии есть инструмент depends.exe . Позволяет посмотреть, какие библиотеки хочет экзешник, какие он нашёл, какие нет (и где нашёл - путь можно посмореть) Depends.exe показал что нет msjava.dll, в ручную установил, не помогло... может эта dll как раз и была из Microsoft Visual C++ 2008 Redistributable |
|
|
Текстовая версия | Сейчас: 29.3.2024, 14:41 |