‘壹’ 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开发工具
,这样子可以方便很多