1

我有一个带有绝对路径的 Qt 项目。

QString path_to_db = "F:/Binh_Efeis/resources/database/efeis.sqlite";

当我构建这个项目并运行它(as F:/Binh_Efeis/debug/EfB.exe)时,它工作正常。

但是我们在部署到其他系统时不能使用绝对路径。

我们希望使用相对路径。

4

2 回答 2

1

检查您的工作目录 - 或“当前”目录(Windows API 首选的命名)。

相对路径是相对于工作目录的(例如../resources/database/efeis.sqlite,如果“当前”目录是F:/Binh_Efeis/debug

编辑使用以下方法从 IDE 中设置工作目录:

在此处输入图像描述

有关详细信息,请参阅Creator 运行设置

于 2013-07-15T09:20:07.050 回答
1

使用QCoreApplication::applicationDirPath()比使用当前目录更好。我使用了更改当前目录的 3rd 方库,如果程序的其他部分依赖于当前目录的值,这将导致问题。

于 2013-07-15T09:55:20.230 回答