qt5 下载 及 qtcreator集成msvc2017 x64
qt5下載
下載qt 5.12路徑
下載 qtcreator路徑
qt release路徑
qtcreator集成msvc2017 x64
集成說明
qtcreator
qtcreator是我用過的非常好用的c++ ide。
比如它自帶的自動注釋功能。
在"Tools->Editor->completion",最下的3個選項,就是“自動注釋功能”
使用時,只要在類/函數/變量前,輸入/**,然后回車,就可生成對應的注釋格式
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.shexport 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=PATH;PATH;PATH;{要添加的目錄}
莫名其妙的情況
代碼前一秒好好的,下一秒重編譯后就出現如下情形:
debug定位不到代碼出錯處,最終停在NtWaitForWorkViaWorkerFactory。但看樣子,像是main函數return的地方停的。
甚至代碼簡單到
還是這樣。
我嘗試了用 VC++的memory leak來檢查,還是找不到原因。
于是我考慮也許這不是我的問題。google到的信息也支持我的結論,vc++不知道為何會啟動多個線程。
換到linux下,發現之前的代碼并無問題。
我查了整整兩天。。。
qtcreator msvc 的cdb設置
qtcreator支持msvc的debugger的cdb.exe調試,設置界面如下圖,簡單說明下。
使用CDB控制臺:支持std::string/std::vector等類型的debugger顯示
當CrtDbgReport()被調用時停止:啟用這個,會出現很多如上圖的斷點,尤其是使用第三方依賴庫時,建議關掉
線程創建/線程退出:多線程調試時使用
總結
以上是生活随笔為你收集整理的qt5 下载 及 qtcreator集成msvc2017 x64的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Navicat for MySQL数据库
- 下一篇: 移动硬盘无法弹出的问题