有没有办法在程序执行时指定运行时的根目录?我问的原因是因为我希望能够有一个 Assets 文件夹,我可以通过 "assets/"
相对地在代码中访问它,而不是必须键入 "绝对/路径/到/ Assets ”
。最坏的情况我可以创建一个宏或一个 const std::string/QString 来附加到所有内容,但我发现只允许项目能够从源目录访问所有内容会更清晰,而不是实际的构建目录。
如果有的话,如何实现?
编辑
我还应该声明,我在 Linux 中运行,目前没有任何跨平台使用的计划,主要是因为我只是在创建学习项目。
最佳答案
将您的工作目录切换到应用程序可执行文件的目录,如下所示:
if (QDir::setCurrent(QCoreApplication::applicationDirPath())) {
// success!
...
}
这是跨平台的。
关于c++ - Qt Creator/qmake - 从源目录加载 Assets 文件夹,而不是构建目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11236023/