qt5下载
下载 qtcreator路径
qtcreator集成msvc2017 x64
qtcreator
qtcreator是我用过的非常好用的c++ ide。
比如它自带的自动注释功能。
在"Tools->Editor->completion",最下的3个选项,就是“自动注释功能”
Documentation Comments
- Enable Doxygen Blocks
- Generate brief desciption
- Add leading asterisks
使用时,只要在类/函数/变量前,输入/**
,然后回车,就可生成对应的注释格式
qt creator 界面字体过小
windows下
在批处理文件*.bat中输入:
@echo off
set QT_SCALE_FACTOR=1.5
qtcreator.exe
此外,QT_DEVICE_PIXEL_RATIO
也可以实现同样的效果。
设置好后,qt creator的界面字体大了,但是批处理文件不能固定到任务栏。
这时,为批处理文件新建一个快捷方式*.lnk文件,并在“属性->目标中”的
path/to/bat/file
改成cmd /c path/to/bat/file
,这样快捷方式就能固定到任务栏了。
非 windows
在批处理文件*.sh中输入
#!/bin/bash
#my_qtcreator.sh
export QT_SCALE_FACTOR=1.5
/opt/Qt/qtcreator-4.2.2/bin/qtcreator
另外,设置环境变量QT_AUTO_SCREEN_SCALE_FACTOR
也可以。
QT_AUTO_SCREEN_SCALE_FACTOR=1 ~/Qt/Tools/QtCreator/bin/qtcreator $1 $2 $3 $4 $5 $6 $7 &
windows 使用qtcrator上启动多线程编译
visual studio号称地表最强的IDE,但我用着确实不大好用,突出的几点:
- 快捷键不好按
- 安装包太大
- cmake支持太差,总需要借助cmake-gui,每次添加文件十分麻烦
- visual studio号称最强,因为它在C#支持方面做得非常好,而在C++支持方面确实不算好,连自动注释的功能都没有,每次都得自己敲格式。
- …
于是我使用在linux上用的qt creator,这是专门为C/C++设计的,非常好用,遗憾的是目前在windows上的“性能测试“比较麻烦,因为qtcreator默认支持强大的valgrind,但这个工具在windows上没有。
qt creator集成vs2017,已经在前文讲过,现在说下开启多线程编译:
- 在"Tools->Kits"标签下,找"Generator",选"Ninja",然后"platform"和"Toolset"匀设置为
<none>
- 在“软件左侧-项目”下的“构建步骤”添加参数
-j 4
,4代表多线程数
qtcreator原生支持gtest
我使用gtest来实现测试驱动开发,qtcreator原生支持gtest,简直完美
具体参见cmake+gtest
the CDB process terminated
问题
使用qtcreator启动调试时提示
我尝试了各种从网上能找到的cmake设置办法,都不好用。。。
解决办法
在cmd窗口启动编译的程序,看提示哪个dll没有找到,把这个目录添加到系统变量
windows 系统,添加到变量Path,set Path=%Path%;%要添加的目录%
linux,添加到变量PATH, export PATH= P A T H ; PATH; PATH;{要添加的目录}
莫名其妙的情况
代码前一秒好好的,下一秒重编译后就出现如下情形:
debug定位不到代码出错处,最终停在NtWaitForWorkViaWorkerFactory。但看样子,像是main函数return的地方停的。
甚至代码简单到
int main(){
return 0;
}
还是这样。
我尝试了用 VC++的memory leak来检查,还是找不到原因。
于是我考虑也许这不是我的问题。google到的信息也支持我的结论,vc++不知道为何会启动多个线程。
换到linux下,发现之前的代码并无问题。
我查了整整两天。。。
qtcreator msvc 的cdb设置
qtcreator支持msvc的debugger的cdb.exe调试,设置界面如下图,简单说明下。
使用CDB控制台
:支持std::string
/std::vector
等类型的debugger显示
当CrtDbgReport()被调用时停止
:启用这个,会出现很多如上图的断点,尤其是使用第三方依赖库时,建议关掉
线程创建
/线程退出
:多线程调试时使用