用过VS的朋友都知道,用VS编译工程时会将生成的可执行文件放在当前工程目录下,使每个工程独立地成为一个整体,管理起来颇为方便;而Qt Creator则不同,编译程序时会创建一个与当前工程目录同级的构建目录,而且目录名称稀里哗啦的出奇的长,令人很不愉快。

那么,Qt Creator怎样才能更改默认构建目录,将可执行文件放入到工程目录下,并且让产生的目录名保持简洁,以便使目录结构显得清晰而有条理呢?

工具/原料

 
  • Qt Creator

一、问题描述

 
  1. 1

    当我们使用Qt Creator编译工程时,会生成一个与工程目录同级的构建目录,而且目录名相当长,从而使得目录结构看起来显得有些凌乱。

  2. 2

    那么,有没有什么办法能够使编译生成的目录位于当前工程目录下,并且目录名也显得清晰简洁呢?

    END

二、解决办法

 
  1.  

    打开Qt Creator,点击菜单“工具”-“选项”。

  2.  

    在打开的选项窗口中点击左侧的“构建和运行”。

  3.  

    在构建和运行页面的最下方,便是指定构建目录的地方。

  4.  

    在这里我们可以看到,默认的构建目录为

    ../build-%{CurrentProject:Name}-%{CurrentKit:FileSystemName}-%{CurrentBuild:Name}

    其中,各部分元素的意义如下:

    1)../   当前目录的父目录(这部分用来指定构建目录处在什么位置,其中当前目录是指当前工程目录下)

    2)build-   固定不变的字符,在目录名中原样显示

    3)%{CurrentProject:Name} 变量值,即当前的工程名

    4)-    固定不变的字符,在目录名中原样显示

    5)%{CurrentKit:FileSystemName} 变量值,当前构建套件名,比如使用的是桌面版的VS2013进行编译,Qt版本为5.6,则为Desktop_Qt_5_6_0_MSVC2013

    6)-    固定不变的字符,在目录名中原样显示

    7)%{CurrentBuild:Name} 变量值,当前构建类型,比如是Debug还是Release

    为了让大家更好地理解以上各部分的含义,下面就给出一个实际示例的图示。图中的构建目录名为 build-test1-Desktop_Qt_5_6_0_MSVC2013_32bit-Debug,与工程目录同级。

  5.  

    知道了各部分的含义,我们修改构建目录也就相当容易了。例如,假设我们想将构建目录放在工程目录下,目录名为构建类型,只需要在此作如下如图所示的修改即可。其中:

    1)./   表示当前目录(即工程目录下)

    2)%{CurrentBuild:Name}  表示构建类型

  6.  

    修改之后,我们再来新建一个工程,测试修改效果。在这里,我分别进行以Debug和Release方式编译工程,可以看到,在工程目前下,分别新建了两个文件夹,而且文件夹的名称也不是之前的一长串了,而是分别为Debug和Release。

    END

注意事项

 
  • 注意,修改构建目录对当前正在打开的工程无效,需要在下一次使用Qt Creator新建工程时才开始起效。
  • 参考以上方法,大家可以依据自己的喜好将构建目录放置到任何地方,并且更改成任何自己喜欢的名称。

Qt Creator怎样更改默认构建目录的更多相关文章

  1. Qt Creator 更改默认构建目录到工程目录下

    Qt Creator 更改默认构建目录到工程目录下 步骤 工具->选项->构建和运行->概要->Default build directory->去掉第一个". ...

  2. Eclipse更改默认工作目录的方法

    参考: Eclipse更改默认工作目录的方法:http://blog.163.com/take_make/blog/static/208212210201272611406227/ 用记事本打开&qu ...

  3. 使用OpenFileDialog会更改默认程序目录

    这个问题可能只有在特定的程序中会发现:当我们在程序中使用相对路径时是依赖于当前目录的.所以在使用类似代码: XElement rootNode = XElement.Load(@"zips/ ...

  4. Docker 更改默认存储目录 - 十一

    Cemtos 7 Docker 默认目录是 /var/lib/docker docker info 查看 docker 配置信息 更改 docker 默认目录 :  编辑 启动文件: 编辑 /usr/ ...

  5. 【QT】QT更改构建目录

    菜单“工具”-“选项”. Qt Creator怎样更改默认构建目录_百度经验 https://jingyan.baidu.com/article/6181c3e0b9d170152ef153af.ht ...

  6. qt creator源码全方面分析(2-1)

    目录 coding-style.html 提交代码 二进制兼容性和源代码兼容性 代码构造 格式化 利用标识符 空格 大括号 圆括号 换行符 声明 命名空间 模式与实践 命名空间 传递文件名 插件扩展点 ...

  7. Linux上使用Qt Creator进行C/C++开发

    目录[-] 1.安装Qt Creator和基础构建环境(以Ubuntu为例): 2.把自动完成快捷键"Ctrl+空格"改为"Alt+/"或者"Shif ...

  8. Qt Creator配置MSVC调试器

    安装完QT后会看到Qt Creator中的MSVC构建组件带有黄色的感叹号,那是因为没有调试器的原因.由于Qt-MSVC版本套件没有默认安装调试器, 需要我们自己手动下载安装. 根据官方文档http: ...

  9. [Qt Creator 快速入门] 第3章 窗口部件

    从这一章开始正式接触Qt的窗口部件.在第2章曾看到 Qt Creator 提供的默认基类只有 QMainWindow.QWidget 和 QDialog 这3种.QMainWindow 是带有菜单栏和 ...

随机推荐

  1. ubuntu包管理命令apt和dpkg的用法

    apt-get命令: apt-get是debian,ubuntu发行版的包管理工具,与红帽中的yum工具非常类似,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索.安装.升级.卸载 ...

  2. hadoop环境安装及错误总结

    历时N天的hadoop环境,终于配好了 主要参考 Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS 1.开机默认进入字符界面或者是图形界面:http://blog.cs ...

  3. ASP.NET WebAPI 05 参数绑定

    ParameterBindingAttribute 在上一篇中重点讲了ModelBinderAttribute的使用场景.这一篇详细的讲一下ModelBinder背后的参数绑定原理. ModelBin ...

  4. html禁止浏览器默认行为,让页面更像应用。

    在html或body行内写入:oncontextmenu="return false" ondragstart='return false;' onselectstart=&quo ...

  5. 关于node的path模块

    const path=require('path'); //basename('绝对路径','截取的后缀') 返回文件的扩展名 let a=path.basename('C:\\temp\\myfil ...

  6. jquery.autocomplete修改 实现键盘上下键 自动填充

    根据需求要实现通过键盘上下移动,获得联想菜单中的值,如同google baidu的查询功能. 在网上找了很久没有找到可以实现该功能的插件,无奈只能自己动手改代码.找到js中的KEY.DOWN 和 KE ...

  7. HDU 1231.最大连续子序列-dp+位置标记

    最大连续子序列 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  8. windows关闭aslr办法

    关闭aslr方便调试分析. 转:https://www.52pojie.cn/thread-377450-1-1.html windows关闭aslr办法 如 @Hmily  前辈所说, Window ...

  9. Docker应用系列(二)| 构建Zookeeper集群

    本示例基于Centos 7,在阿里云的三台机器上部署zookeeper集群,假设目前使用的账号为release,拥有sudo权限. 由于Docker官方镜像下载较慢,可以开启阿里云的Docker镜像下 ...

  10. [BZOJ3676][APIO2014]回文串(Manacher+SAM)

    3676: [Apio2014]回文串 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 3097  Solved: 1408[Submit][Statu ...