① QT在編譯的時候找不到頭文件
首先
qmake -project
然後打開生成的hello.pro文件,加上兩行
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
把這兩行放前面
大體如下:
######################################################################
# Automatically generated by qmake (3.0) ?? ??? 26 08:54:10 2014
######################################################################
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TEMPLATE = app
TARGET = hello
# Input
SOURCES += main.cpp
然後
qmake hello.pro
再
mingw32-make
② Qt錯誤:引入包含類的頭文件,但是類使用不了
有時候,我們改寫其他模塊做成自己的模塊,以適應不同場景的應用。但是,頭文件包含進來了,程序還是提示:'XXX' unknown type name, 出現的可能原因有:
1.circle include,同時在classA中include ClassB;在ClassB中引用ClassA。
2.在ClassA中引用了其他跟ClassB的ifndef宏名相同的頭文件,也會導致編譯器跳過ClassB的引用。
qt unknown type name編譯報錯記錄 - ligiggy - 博客園
尤其注意第二種情況,較容易忽視去改變宏名。
③ Qt 編程無法編譯,高手來!
把你生成的xxx-build-desktop這個文件夾刪除,重新編譯試試看,如果不行的話就是你的環境變數沒設好,為mingw32設一下環境變數
④ vs2019源碼編譯qt5.16失敗
當在qt資源文件中加入過多圖片時(22Mb),編譯文件內容過大導致。編譯時出現,系統找不到指定文件,路徑使用絕對路徑,源代碼路徑含有中文字體,編譯時,源代碼找不到路徑。
⑤ qt編程頭文件問題
1.試試#include <QtWidgets/QDialog>
2.修改pro文件之後,要雙擊main.cpp,這樣編譯按鈕才可用。
3.pro中的一些配置信息決定了qt去鏈接哪些庫。或者,你可以完全按照Qt creator中的向導生成一個最簡單的GUI程序,然後看看它的pro文件怎麼寫的。
貼出你的pro文件內容。如果不行,使用qmake重新生成一個。
我的pro文件:
其中的Qt += core gui widgets 就表示鏈接QtCore(d).dll、QtGui(d).dll、QtWidgets(d).dll
QT+=coregui
greaterThan(QT_MAJOR_VERSION,4):QT+=widgets
TARGET=113
TEMPLATE=app
SOURCES+=main.cpp
⑥ QT編譯時出現的一些錯誤,請懂的朋友指點下
你的資料有些陳舊,你可以看一下《精通QT4編程》。
QT4中include頭文件與以前有不同,一般使用#include <QPushButton>這種,你可以針對不同的類,修改一下,就可以解決找不到庫文件的問題了。
a.setMainWidget(&w);這句話不再使用了,你可以這樣寫:
QApplication a(argc,argv);
QWidget w;
w.show();
return a.exec();
有什麼問題可以PM我,祝愉快~
⑦ QT的錯誤問題,怎麼解決
QT錯誤:collect2:ld returned 1 exit status
1.編譯成功的例子在後台執行,有時一閃而過,如果再次build ,則會提示上述錯誤。
解決方法:打開任務管理器,找到相應的exe進程,關閉即可; 或者直接關閉QtCreator。
2.沒有編譯成功的情況下,最常見情況是程序本身需要include的頭文件被遺漏了
解決方法:細心查找基類所用的頭文件,include之後即可。
3..h文件中相關的槽函數在cpp文件中沒有定義
解決方法:查找遺漏的槽函數,根據需要,具體的定義。
Qt錯誤:
Error - RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly
RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly
我是在做圖像處理的時候出現這個錯誤的,原因是沒有圖的初始數據。個人覺得出現這個錯誤多半是因為某個變數沒有進行初始化,引用不明確造成的。
Qt錯誤:
Starting D:\e\qt\13-4-19-picture\picture-build-desktop\debug\picture.exe...
D:\e\qt\13-4-19-picture\picture-build-desktop\debug\picture.exe exited with code -1073741571
在用qt進行圖像開發的時候,出現了這種問題。經過網上查閱資料,發現這個錯誤是由於:棧溢出,系統默認的棧的空間大小是1MB。
解決方法是將需要申請棧內存的局部變數更改為其他類型的變數,以減少對棧的壓力。下面推薦三種解決方法:
1、要分配的大量局部動態變數或數組,改成用new分配,不過一定要記得delete哦。
2、如果類的定義中有大數組,不要用該類定義局部變數,改成用new構造對象。
3、直接將大容量局部變數數組移到函數外,使其作為全局變數數組存在,不過全局變數要慎用。
Qt錯誤:
Error -
RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly
C:\Users\Administrator\Desktop\picture-build-desktop\debug\picture.exe 退出, 代碼: -1073741819
這個問題可困擾了我整整一天,通過單步調試也沒看出來程序有什麼錯誤,貌似該獲取的值都取到了,邏輯上也完全正確。後來還請教了工作室的大神,折騰了很久才發現,又是內存管理的問題,程序裡面申請的堆區的空間太多,把用new申請的空間轉變為申請棧區的局部變數,問題就得到解決了。不過說實話對於堆、棧它們各自到底佔用多少內存,怎樣的分配才算合理,怎樣避免這方面的問題,自己目前還是不清楚。
⑧ 編譯Qt程序時頭文件出錯怎麼辦
用的是5.0以上版本了吧?
在pro文件中加上QT += widgets
⑨ 剛安裝好QT後編譯qt for ios成功,但是後面總是編譯失敗,請問該怎麼辦。
如果你說的是命令行編譯的話,可以先執行一邊 make distclean(會將生成的庫文件和makefile都刪掉) 然後重新config重新make
⑩ 命令行編譯qt程序遭遇 No such file or directory
對於一個qt工程,qt-creator運行沒有問題。後面為了提高自動化效率,寫一個腳本通過命令行編譯qt程序,發現編譯報錯,報錯信息如下:
報錯信息直接指明了原因:找不到頭文件,說明要用的庫的頭文件路徑不在 INCLUDE 變數里,所以編譯時就找不到。
除了上面的報錯,可能還會有如下的報錯情況:
那為什麼qt-creator運行沒有問題呢?
因為 qt-creator 獲取了一些環境變數如下:
解決辦法就是自行把需要用到的路徑加到相應的變數里。
如下通過 python 腳本來編譯qt程序,把路徑加到相應的 PATH 、 INCLUDE 、 LIB 環境變數里,這樣編譯的時候就能找到相應的文件
腳本里的路徑添加都是臨時生效,腳本執行完就失效了,所以不用擔心會破壞系統環境變數。