Qt-C ++通过绝对路径连接Sqlite

时间:2013-07-15 09:15:59

标签: c++ database qt sqlite

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

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

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

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

我们希望使用相对路径。

2 个答案:

答案 0 :(得分:1)

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

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

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

enter image description here

有关详细信息,请参阅Creator Run Settings

答案 1 :(得分:1)

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