一、填坑,输出debug和release路径问题
在QtCreator中新建项目时会提示你创建构建目录,分别是Debug和Release。
默认情况下创建规则:
../build-%{CurrentProject:Name}-%{CurrentKit:FileSystemName}-%{CurrentBuild:Name}
其中: eg:build-photosurface-Desktop_Qt_5_8_0_MSVC2015_64bit-Debug
../
:上级目录,即工程文件夹同级的目录;
build-
:固定字符;
%{CurrentProject:Name}
:利用宏创建的工程名;
%{CurrentKit:FileSystemName}
:当前构建套件名,取决于你Qt版本。
如:Qt5.8.0 MSVC2015版本生成Desktop_Qt_5_8_0_MSVC2015
;
%{CurrentBuild:Name}
:构建目标,Debug或者Release
比如创建一个名为photosurface的工程放到C:\Qt\Qt5.8.0\Examples\Qt-5.8\quick\demos
目录,
默认会创建如下目录结构:
想把debug和release放到项目文件夹下怎么办?
- 将工具–>选项–>构建和运行中的
Default build directory
:
../build-%{CurrentProject:Name}-%{CurrentKit:FileSystemName}-%{CurrentBuild:Name}
修改为
./build-%{CurrentProject:Name}-%{CurrentKit:FileSystemName}-%{CurrentBuild:Name}
其中./
为同级目录,../
为上级目录 - 把QtCreator关闭,把工程目录下后缀名为.pro.user的文件删掉;
- 用QtCreator打开工程,会提示你创建构建目录,此时提示的就是你修改后的Default build directory中填写的目录;
note: 其中.pro.user文件记录了编译器、构建工具链、构建目录、版本……等工程编译相关信息,想要更换项目的编译环境,得删除这个文件,由QtCreator自动重新创建。
二、在本机直接运行编译后的程序
一步到位的方法:
添加系统环境变量:Path:C:\Qt\Qt5.8.0\5.8\msvc2015_64\bin
note:程序要用管理员程序运行
三、开始发布release程序
- 将release中的.exe程序,和所依赖的动态库.dll(
C:\Qt\Qt5.8.0\5.8\msvc2015_64\bin
)放到待发布的文件中,依赖的dll
可以根据程序运行出错的提示来找到是哪几个。 - 将
C:\Qt\Qt5.8.0\5.8\msvc2015_64\plugins
目录中的platforms
文件夹复制过来,不需要改文件夹名称,里面只需要保留qwindows.dll
即可。 - 如果程序中使用了png以外格式的图片,要将
C:\Qt\Qt5.8.0\5.8\msvc2015_64\plugins
中的imageformats
文件夹复制到待发布的文件夹中,其中保留自己用到的文件格式的.dll
文件。 - 类似的如果使用了数据库,则把
sqldrivers
文件夹复制过去,里面保留用到的数据库.dll
文件 - 其他的动态库文件类似。
发布程序的文件夹形式:
- 接下来即可发布程序。