我有一个带有绝对路径的 Qt 项目。
QString path_to_db = "F:/Binh_Efeis/resources/database/efeis.sqlite";
当我构建这个项目并运行它(as F:/Binh_Efeis/debug/EfB.exe
)时,它工作正常。
但是我们在部署到其他系统时不能使用绝对路径。
我们希望使用相对路径。
检查您的工作目录 - 或“当前”目录(Windows API 首选的命名)。
相对路径是相对于工作目录的(例如../resources/database/efeis.sqlite
,如果“当前”目录是F:/Binh_Efeis/debug
)
编辑使用以下方法从 IDE 中设置工作目录:
有关详细信息,请参阅Creator 运行设置
使用QCoreApplication::applicationDirPath()
比使用当前目录更好。我使用了更改当前目录的 3rd 方库,如果程序的其他部分依赖于当前目录的值,这将导致问题。