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