『壹』 QT中使用全局變數的BUG請一定要看清楚我的問題再回答!!!
把function_name_1() 里,去掉 int var_name; 試試
『貳』 qt 編譯時出錯,請高手指教。
通常是由於你的qsqlite4.dll不可泄,例如你正在用QTAssistant
『叄』 qt編譯出錯 環境變數添加過了,可還是出錯,好像是庫的問題
linux下面編譯Qt程序的步驟應該是這樣的:
1.進入源文件的目錄
2.qmake -project
3.qmake
4.make
注意你的qmake一定是系統可以找到的程序。如果環境變數沒有添加,或者你希望手動選擇使用的qmake,可以直接在你安裝qt目錄的/bin/qmake 來代替qmake
希望解決你的問題,如果還有問題,請追問。
『肆』 如何在Qt中使用全局變數,出現無法解析的
很多小夥伴在Qt編程時,不會使用全局變數,其實基本有兩種方式來定義使用全局變數,第一種是根據c/c++的extern來進行多文件的使用,第二種方法就是把全局變數放在類中,當做類靜態變數來使用,一般來說,第一種方式嚴重破壞了類的封裝,所以還是推薦第二種方式.下面給出簡單的示例:
1.先在一個.h文件中聲明一個類://c.h#ifndef C_H#define C_Hclass QPos{public:static int x; //注意關鍵字staticstatic int y;
};#endif //C_H2.在.cpp文件里類中的成員進行定義://c.cpp#include "c.h"int QPos::x = 10; //必須要在對應的.cpp文件中進行初始化,否則會被報錯!!int QPos::y = 20;3.然後就可以在其他文件中使用這些全局變數了.//m.cpp#include#include "c.h"m::m(QWidget *parent) : QWidget(parent)
{
ui.setupUi(this);
c::x= 50; /
c::y= 70;
...
}
–
切記對靜態變數必須的初始化必須要在類外進行,同時不能在.h頭文件中進行,應該在對應的.cpp中進行,否則會出現無法解析的錯誤.
『伍』 關於QT2.2.0編譯出錯的問題,求助達人
軟體關聯的問題,你要將ISE文件夾中modelsim.ini文件中library以下(除others這一行)內容復制到modesim文件夾中modelsim.ini文件相同位置,注意modelsim.ini屬性只讀前的勾選去掉。
如果還不懂,去網路搜ISE與modelsim關聯。我的ISE10.1就是這樣與modelsim6.5b關聯上的,調用DDS都不報錯
『陸』 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 creator編譯出錯,怎麼解決
項目目錄不能有中文
『捌』 qt的helloworld程序編譯出錯,該如何處理
F:\temp_file\qt\hello>make
make -f Makefile.Debug
make[1]: Entering directory `F:/temp_file/qt/hello'
g++ -mthreads -Wl,-subsystem,windows -o debug\hello.exe debug/hello.o -L"f:\loc
al_file\QT\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4
f:\local_file\QT\lib/libqtmaind.a(qtmain_win.o): In function `WinMain@16':
c:\iwmake\build_mingw_opensource\src\winmain/qtmain_win.cpp:93: undefined refere
nce to `_Unwind_Resume'
c:\iwmake\build_mingw_opensource\src\winmain/qtmain_win.cpp:135: undefined refer
ence to `_Unwind_Resume'
f:\local_file\QT\lib/libqtmaind.a(qtmain_win.o):c:\iwmake\build_mingw_opensource
\src\winmain/../../include/QtCore/../../src/corelib/tools/qvector.h:512: undefin
ed reference to `_Unwind_Resume'
f:\local_file\QT\lib/libqtmaind.a(qtmain_win.o):c:\iwmake\build_mingw_opensource
\src\winmain/../../include/QtCore/../../src/corelib/tools/qvector.h:513: undefin
ed reference to `_Unwind_Resume'
f:\local_file\QT\lib/libqtmaind.a(qtmain_win.o):qtmain_win.cpp:(.eh_frame+0x12):
undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
make[1]: *** [debug\hello.exe] Error 1
make[1]: Leaving directory `F:/temp_file/qt/hello'
make: *** [debug] Error 2
------解決方案-------------------------------------------------------- undefined reference to `_Unwind_Resume' 是不少頭文件,
------解決方案-------------------------------------------------------- 多個gcc版本
那也不會影響編譯。。默認都是最高版本的!
『玖』 Linux下Qt的make編譯出現大量錯誤
你上面的問題是的鏈接庫的和路徑沒設置好
export
QTDIR=/home/lin/hisi/qt-embedded-4.5.2
export
PATH=$QTDIR/bin:$PATH
export
TSLIB_CONSOLEDEVICE=none
export
LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib
類似上面,把相應的路徑修改下,在終端中運行,然後編譯就可以通過了
不過建議:
linux下,可以安裝個QT
Creator開發工具
,這樣子可以方便很多