问题描述:使用QtCreator编译Qt工程项目时,有时需求修改编译过程中生成文件(Makefile、.o、.exe等文件)的存放路径,如何解决?
常见方法:工具–>选项–>构建和运行中,修改Default build directory是不会生效的。
正确修改方法如下:
在QtCreator中新建工程项目时,将会提示构建工程生成目录,分别是Debug和Release。
默认情况创建规则如下:
../build-%{CurrentProject:Name}-%{CurrentKit:FileSystemName}-%{CurrentBuild:Name}
其中:
…/:上级目录,即工程文件夹同级的目录;
build:固定字符;
%{CurrentProject:Name}:工程名;
%{CurrentKit:FileSystemName}:当前构建套件名,取决于你Qt版本。如:mingw版本生成;Desktop_MinGW;
%{CurrentBuild:Name}:构建目标,Debug和Release
使用默认构建目录的结果就是,比如创建一个名为TestBuild的工程放到D:\QtTest目录,默认会创建如下目录结构:
若创建成D:\QtTest\TestBuild\debug和D:\QtTest\TestBuild\release怎么办?
方法一
1.将工具–>选项–>构建和运行中Default build directory修改为./%{CurrentBuild:Name}(改为你想要的目标目录都行);
2.把QtCreator关闭,把工程目录下后缀名为.pro.user的文件删掉;
3.用QtCreator打开工程,会提示你创建构建目录,此时提示的就是你修改后的Default build directory中填写的目录;
其中.pro.user文件记录了编译器、构建工具链、构建目录、版本……等工程编译相关信息,想要更换项目的编译环境,得删除这个文件,由QtCreator自动重新创建
方法二
1.用notepad++打开.pro.user文件,找到其中ProjectExplorer.BuildConfiguration.BuildDirectory这个key,修改其值为你指定的目录即可,比如我这里修改为D:\QtTest\TestBuild\debug和D:\QtTest\TestBuild\release;
注意,修改的时候修改两个地方,分别对应debug和release的构建目录,其中debug指定在ProjectExplorer.Target.BuildConfiguration.0下配置;release指定在ProjectExplorer.Target.BuildConfiguration.1下配置;
如图标记: