使用QtCreator遇到的一些問題


0. 背景

最近在學習QtCreator(版本:4.8.1;編譯器:MSVC 2017 64-bit),遇到了一些問題,特記錄如下。(

1. 引用庫

QtCreator可以直接包含Windows.h,但是沒有默認引用User32.lib,所以需要在設置里面引用,步驟如下:
右鍵點擊左邊欄的項目名稱,點添加庫,之后跳出一個選擇框。如果是像上面說的這種能夠直接包含頭文件的就選系統庫,而對於網上下載下來的包括頭文件和靜態庫文件的就選外部庫。之后按說明填就行了。注意添加完之后,需要在程序中添加一行#pragma comment(lib,"User32.lib")才行。

2. 編碼

QtCreator在編輯文件時通常用的是utf-8,然而msvc編譯器認的是系統的編碼,一般是gtk,所以會導致編譯之后含有中文的字符串在命令行會變成“錕斤銬”😭,在窗口中則亂碼。為此我們需要強制使編譯器按utf-8編譯,可在程序中添加一行#pragma execution_character_set("utf-8")

3. 命令行輸出

通常qmake編譯出來的程序一般是不帶命令行的,我們可以在.pro文件中加入一行CONFIG += console改變這個設置,然后就可以用io函數了,IDE可以在底部“3 應用程序輸出”處看到命令行輸出的內容。注意:當在.pro文件中加入這句話后,以后如果想編譯出不帶命令行的程序,不僅需要刪去這句話,還要額外加入CONFIG += console才行。

4. 資源文件

把程序中用到的圖片等文件打包進程序的步驟如下:
在左邊欄新建.qrc文件,然后添加前綴,注意這個前綴和資源的路徑沒有關系,它僅僅是為了增加可讀性,因此是可以任取的。添加完前綴后添加資源文件。此時.pro文件中應該多出一句RESOURSES += XX.qrc。最后在程序中引用時,直接在路徑字符串里寫:前綴資源文件名即可。如前綴是/,資源是icon文件夾里的mouse.ico,那么字符串寫:/mouse.ico

5. 程序圖標

給程序設定圖標步驟如下:
在左邊欄新建一個空文件命名為icon.rc,然后在里面添加IDI_ICON1 ICON DISCARDABLE "mouse.ico"mouse.ico是你要的圖標文件名,之后在.pro文件里添加一行RC_FILE += icon.rc,然后用release選項編譯就能看到了。

6. 打包程序

編譯出來的程序不能直接運行,需要處理依賴。Qt已經為我們提供了這個工具,只需在開始菜單中啟動“Qt 5.12.1 (MSVC 2017 64-bit)”,然后cd到程序所在目錄,之后輸入命令windeployqt 程序名,它就會將程序的依賴復制到當前文件夾,然后嘗試一下哪些是不需要的刪除即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM