Мммм... Хочу сразу разочаровать: никакой
strPath.replace( '/', '\\');
не поможет, ибо при загрузке плагина QDir() перевернёт слеши как ему подскажет голос свыше (как правильно для данной ОС/компиллера).
А проблема собсна не в слешах. Проблема с системой плагинов Qt4. Драйвера SQL в Qt4 реализованы плагинами, которые загружаются на лету по месту требования, а не линкуются с основным кодом.
Заходим в документацию, читаем следующее:
But where is the plugins directory? When the application is run, Qt will first treat the application's executable directory as the pluginsbase. For example if the application is in C:\Program Files\MyApp and has a style plugin, Qt will look in C:\Program Files\MyApp\styles
Qt will also look in the directory specified by QLibraryInfo::location(QLibraryInfo::PluginsPath), which typically is located in QTDIR/plugins
Другой способ: использоваться функции:
QCoreApplication::addLibraryPath() и
QCoreApplication::setLibraryPaths()Грубо говоря, чтобы не добавлять код в программу нужно поместить соответствующий плагин (
qsqlpsql.dll ) в папку:
sqldrivers которая будет лежать точно рядом с исполняемым файлом.
Плагины найдёшь здесь:
QTDIR/plugins