Я написал программу с открытым исходным кодом, которую я выпустил как GPL, построенную с использованием Qt4 LGPL SDK. Эта программа имеет возможность поиска дополнительной базы данных Sqlite3.
Вот что заставляет меня сойти с ума. Я компилирую программу на компьютере разработчика. Когда я пытаюсь запустить его, я могу ошибки об отсутствующих DLL. Я копирую эти библиотеки в тот же каталог, что и исполняемый файл, и теперь он работает нормально (mingwm10.dll, libgcc_s_dw2-1.dll, QtCore4.dll, QtSql4.dll, QtGui4.dll), включая поиск в базе данных.
Теперь, если я скопирую эту папку с исполняемым файлом и библиотеками DLL на новый компьютер, на котором не установлен SDK, он будет работать до тех пор, пока я не попытаюсь выполнить поиск. Как только я нажму кнопку поиска, у меня может появиться следующая ошибка:
Title: Microsoft Visual C++ Runtime Library
Runtime Error!
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
Затем я загружаю и устанавливаю SDK, больше ничего не делая, теперь я могу запустить программу и просто найти файл sqlite3!
Какую магию мне не хватает?
P.S. Обе машины являются недавно установленными системами Windows XP.