C++ Qt Creator/qmake-从源目录加载资产文件夹,而不是构建目录

C++ Qt Creator/qmake-从源目录加载资产文件夹,而不是构建目录,c++,directory,qt-creator,assets,qmake,C++,Directory,Qt Creator,Assets,Qmake,有没有办法在程序执行过程中指定运行时的根目录?我问这个问题的原因是因为我希望能够有一个资产文件夹,我可以通过“assets/”相对地在代码中访问它,而不是必须键入“absolute/path/to/assets”。最坏的情况是,我可以创建一个宏或const std::string/QString来附加到所有内容,但我发现,只允许项目能够相对地从源目录访问所有内容,而不是从实际的构建目录访问所有内容,这会更干净 如果有的话,如何实现这一点 编辑 我还应该声明,我是在Linux中操作的,目前没有任何

有没有办法在程序执行过程中指定运行时的根目录?我问这个问题的原因是因为我希望能够有一个资产文件夹,我可以通过
“assets/”
相对地在代码中访问它,而不是必须键入
“absolute/path/to/assets”
。最坏的情况是,我可以创建一个宏或const std::string/QString来附加到所有内容,但我发现,只允许项目能够相对地从源目录访问所有内容,而不是从实际的构建目录访问所有内容,这会更干净

如果有的话,如何实现这一点

编辑


我还应该声明,我是在Linux中操作的,目前没有任何多平台使用的计划,主要是因为我只是在创建学习项目。

将您的工作目录切换到应用程序可执行文件的目录,如下所示:

if (QDir::setCurrent(QCoreApplication::applicationDirPath())) {
  // success!
  ...
}

这是跨平台的。

如果DLL使用自己的Qt副本编译,并且没有链接到与应用程序本身相同的Qt副本,那么是的,这将是一个问题。