Variable that refers to the project directory in Q

2020-06-03 00:07发布

问题:

I'm working on a cross-platform Qt application and the paths are different on Mac OS X and Windows. Since the project is on an external hard-drive, the drive letter also occasionally changes on Windows.

For that reason, I would like to refer to the project directory using a variable, preferably a built-in one. In particular, is there such a variable usable in:

  • The .pro file?
  • The build settings (in the Projects tab)?

回答1:

The built-in _PRO_FILE_PWD_ variable contains the path to the directory containing the project file in use. That variable may be useful for you.



回答2:

To complete, @Bill's answer, the way to refer to the source path in the Build Settings is to use %{sourceDir}.

%{buildDir} is also available.



回答3:

Since I struggled a bit to find it, I'm adding it here.

In addition to %{sourceDir} and %{buildDir}, you could use %{CurrentDocument:Path}, %{CurrentDocument:FilePath} and %{CurrentProject:Path} to refer to specific files and folders in the project directory.



回答4:

There are problems with $$_PRO_FILE_PWD_ on windows, because it contains forward slash allways. You need to fix slash using shell_path.

 $$shell_path($$_PRO_FILE_PWD_)