Проблема в том, что текущий рабочий каталог не тот, в котором находится файл db.config
. Кажется, он находится в том же каталоге, что и файл . cpp. Текущий рабочий каталог, вероятно, отличается. В конечном итоге вам нужно решить, где вы хотите разместить файл db.config
. Есть много вариантов, но вот простое решение:
- Посмотрите, где находится двоичный файл приложения.
- Копировать
db.config
там, если его там еще нет. - В вашем коде перейдите в этот каталог перед загрузкой файла, что вы можете сделать с Qt следующим образом:
QDir::setCurrent(QCoreApplication::applicationDirPath());
Обратите внимание, что если пользователь запускает программу из командной строки и может указывать файлы в качестве аргументов, то изменение рабочего каталога внутри программы может привести к тому, что эти файлы не будут найдены. В этом случае вместо изменения рабочего каталога создайте абсолютный путь к db.config
.
Вы можете прочитать QStandardPaths документы, чтобы лучше понять, где вы на самом деле хотите хранить файл db.config
. Это зависит от того, как вы планируете распространять приложение. Если вы просто хотите поместить его в .zip
или что-то в этом роде, то вам подойдет тот же каталог с двоичным файлом приложения.