当前位置:首页 » 编程软件 » qtdebug编译文件启动

qtdebug编译文件启动

发布时间: 2022-05-05 07:37:53

A. QT编译错误,怎么解决

项目->构建设置,把中文路径改为英文路径 ,记得清理之后再重新构建哦

B. QtCreator怎么使用debug功能

您好。

在项目project中配置下为debug模式!!Make: mingw32-make.exe debug -w in 。

首先要设置一个断点,然后Debug(当然要在Debug模式下),

程序会运行到断点处,然后就可以用F10或F11之类的调试了

Qt-SDK有debug功能的,不过用的是MingW编译器,编译成动态的debug版本后可以debug

如果还有问题,可以继续追问,感谢。

C. qt debug运行时电脑重启

可能是程序长时间运行崩溃的原因。
发布的应用程序使用的是release版本。release版本是比较难调试的,因为缺少很多调试信息,在VC/VS中我们可以通过生成DMP + PDB进行源码级定位,使用这种方法,当程序在别人电脑上出现异常或者崩溃的时候,会生成DMP文件,然后把该文件拷贝到自己的开发机器上,配合pdb文件调试就可以找到错误的位置,直接把问题定位到源代码中的位置。

D. qt如何把debug编译成release版本

这个十分简单, 如果我理解的没有错的话, 你应该是在新建项目时没有添加Release对象吧?
1. 点击左侧边栏的Projects
2. 在Build Step里的qmake build configuration中选择Release
此时你编译出来的对象就是release的了...
如果是要上交的内容, 更改下build directory, 就OK了

如果你是在Shell下的话... qmake加参数 "-CONFIG+=Release(或者Debug)"

E. qt编译后运行错误 出现应用程序无法正常启动(0Xc0150002).请单击“确定”关闭应用程序.

代码有问题

F. qt编程问题,高分求助 为什么我在编译器里编译能运行,然后到了debug目录下就运行不了,它提示说

debug目录下,需要依赖debug版本的动态库,你确定你拷贝的动态库文件是DEBUG版本的吗?比如QtCored4.dll,QtGuid4.dll,而不是QtCore4.dll和QtGui4.dll

G. qt4.8.5build debug libraries 编译有什么用

QT Debug大集合 详细讲解是本文要介绍的内容,相信友们应该在编程过程中遇到各种各样的Debug,先来看内容。QT Debug集锦~ 这篇是在10年测试QT 过程中遇到的问题:
1、中文显示问题:
#include <QApplication> #include <QLabel> #include <QTextCodec> int main(int argc, char* argv[]) { QApplication app(argc,argv); QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); QLabel *label = new QLabel(tr("这里是中文")); label->Show(); return app.exec(); }

编译代码,得到的错误是: 'tr'在此作用域中尚未声明。
昨天为什么没有出现这种错误呢?因为昨天的代码是从qt creator生成的MainWindow中挑出来的,tr被声明为QObject的一个static方法,因此在MainWindow中使用tr不会有问题。
把上面的QLabel *label=new QLabel(tr("这里是中文"));
改为
QLabel *label=new QLabel(QObject::tr("这里是中文"));
2、中文问题:
使用sqlite数据库显示乱码的问题
本人近日在使用QT进行sqlite数据库编程时,出现中文数据显示乱码情况,附源码如下:

//main.cpp #include <QtGui> #include <QtCore/QTextCodec> #include <QSqlTableModel> #include <QTableView> #include <QHeaderView> #include <QSqlRecord> #include <QtGui/QLabel> #include <QString> #include <QVariant> #include "connection.h" #include "sql.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK")); //创建数据库连接 if (!createConnection()) return 1; //创建学生信息表 createTables(); //初始添加数据 addData(); enum{ Student_Id = 0, Student_Schnum = 1, Student_Name = 2, Student_Sex = 3, Student_Nation = 4 }; QSqlTableModel *model = new QSqlTableModel(); model->setTable("student"); model->setSort(Student_Schnum, Qt::AscendingOrder); model->setHeaderData(Student_Schnum, Qt::Horizontal, QObject::tr("学号")); model->setHeaderData(Student_Name, Qt::Horizontal, QObject::tr("姓名")); model->setHeaderData(Student_Sex, Qt::Horizontal, QObject::tr("性别")); model->setHeaderData(Student_Nation, Qt::Horizontal, QObject::tr("民族")); model->select(); QTableView *view = new QTableView; view->setModel(model); view->setSelectionMode(QAbstractItemView::SingleSelection); view->setSelectionBehavior(QAbstractItemView::SelectRows); view->setColumnHidden(Student_Id, true); view->resizeColumnsToContents(); view->setEditTriggers(QAbstractItemView::NoEditTriggers); QHeaderView *header = view->horizontalHeader(); header->setStretchLastSection(true); view->show(); return a.exec(); } //connection.h #ifndef CONNECTION_H #define CONNECTION_H #include <QMessageBox> #include <QSqlDatabase> #include <QSqlError> #include <QSqlDriver> inline bool createConnection() { QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("sim.dat"); if (!db.open()) { QMessageBox::warning(0, QObject::tr("Database Error"), db.lastError().text()); return false; } return true; } #endif // CONNECTION_H //sql.h #include <QSqlQuery> #ifndef SQL_H #define SQL_H inline void createTables() { QSqlQuery query; query.exec("CREATE TABLE student (" "id INTEGER PRIMARY KEY, " "schnum INTEGER NOT NULL, " "name VARCHAR(40) NOT NULL, " "sex VARCHAR(4) NOT NULL, " "nation VARCHAR(10) NOT NULL)"); } inline void addData(){ QSqlQuery query; for(int i =0;i<100;i++){ query.exec("INSERT INTO student (schnum, name, sex, nation) VALUES (2614103, '天残脚,'男', '汉族')"); } } #endif // SQL_H

上网查了许多无果,后来在阅读一篇技术文章中无意发现,原来在插入数据语句若有中文必须先QObject::tr()一番,即进行编码,
将 Sql.h 中 query.exec("INSERT INTO student (schnum, name, sex, nation) VALUES (2614103, '天残脚,'男', '汉族')"); 改为如下 query.exec(QObject::tr("INSERT INTO student (schnum, name, sex, nation) VALUES (2614103, '天残脚,'男', '汉族')"));

结果在显示中都能得正确显示。
注意,如果语句 QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));中的编码改为utf-8则会显示乱码。
3、中文问题:
如果使程序只支持一种编码,也可以直接把整个应用程序的编码设置为GBK编码, 然后在字符串之前 加
tr(QObject::tr), qApp->setDefaultCodec( QTextCodec::codecForName("GBK") ); QLabel *label = new QLabel( tr("中文标签") );

4、找不到<QtSql >
求助:提示无法打开包含文件QtSql
.Pro文件里加入 QT += sql
4、No rule to make target 'mkspecs/default/qmake.conf', needed by `Makefile'. Stop. 错误
mingw32-make: *** No rule to make target `http://www.cnblogs.com/http://www.cnblogs.com/Qt/4.3.3/mkspecs/default/qmake.conf', needed by `makefile'. Stop. make[2]: Entering directory `/home/lzy/tps2/rplan/super' make[2]: *** No rule to make target `/home/lzy/qt/qt-3.3.2/mkspecs/default/qmake.conf', needed by `Makefile'. Stop. make[2]: Leaving directory `/home/lzy/tps2/rplan/super'

5、mingw32\bin\ld.exe: cannot find -lqtmaind错误
这个错误是缺少某些库,将mingw重新下载安装即可。
6、编译时可能会遇到如下错误:previous declaration 'long int InterlockedIncrement(long int*)' here
此为qt的bug需要修改源代码 (Qt\4.4.3\src\corelib\arch\qatomic_windows.h),原文件如下:
Solution:
(1) Qt\4.4.3\src\corelib\arch\qatomic_windows.h:
#if !(defined Q_CC_BOR) || (__BORLANDC__ < 0x560) extern "C" { __declspec(dllimport) long __stdcall InterlockedCompareExchange(long *, long, long); __declspec(dllimport) long __stdcall InterlockedIncrement(long *); __declspec(dllimport) long __stdcall InterlockedDecrement(long *); __declspec(dllimport) long __stdcall InterlockedExchange(long *, long); __declspec(dllimport) long __stdcall InterlockedExchangeAdd(long *, long); } #else extern "C" { __declspec(dllimport) long __stdcall InterlockedCompareExchange(long volatile*, long, long); __declspec(dllimport) long __stdcall InterlockedIncrement(long volatile*); __declspec(dllimport) long __stdcall InterlockedDecrement(long volatile*); __declspec(dllimport) long __stdcall InterlockedExchange(long volatile*, long); __declspec(dllimport) long __stdcall InterlockedExchangeAdd(long volatile*, long); } #endif you will see above code in Qt\4.4.3\src\corelib\arch\qatomic_windows.h: file. I modified like below and it works. /*#if !(defined Q_CC_BOR) || (__BORLANDC__ < 0x560) extern "C" { __declspec(dllimport) long __stdcall InterlockedCompareExchange(long *, long, long); __declspec(dllimport) long __stdcall InterlockedIncrement(long *); __declspec(dllimport) long __stdcall InterlockedDecrement(long *); __declspec(dllimport) long __stdcall InterlockedExchange(long *, long); __declspec(dllimport) long __stdcall InterlockedExchangeAdd(long *, long); } #else */ extern "C" { __declspec(dllimport) long __stdcall InterlockedCompareExchange(long volatile*, long, long); __declspec(dllimport) long __stdcall InterlockedIncrement(long volatile*); __declspec(dllimport) long __stdcall InterlockedDecrement(long volatile*); __declspec(dllimport) long __stdcall InterlockedExchange(long volatile*, long); __declspec(dllimport) long __stdcall InterlockedExchangeAdd(long volatile*, long); } // #endif

7、编译错误,显示 can not find -lqtmaind。
这是qt的debug库,安装完成后需要再自己编译这个库。在Qt的开始菜单中,你可以找到一个程序 Qt 4.4.0 (Build Debug Libraries),运行这个程序就能编译Qt的Debug库了。
小结:QT debug大集合 详细讲解的内容介绍完了,希望本文对你有搜帮助。

H. qt调试无法开始 求助

1.首先在该链接处下载 Qt library和 Qt creater(http://qt-project.org/downloads),
我使用的 Qt library是qt-win-opensource-4.8.5-mingw.exe,
Qt creater是qt-creator-windows-opensource-2.7.2.exe;
安装QT之前,还需要下载MinGW-gcc,我使用的是MinGW-gcc440_1.zip;
http://ishare.iask.sina.com.cn/f/34637805.html这儿可以免费下载;
2.做好了所有准备后,我们开始安装;
(1)。在安装Qt之前,我们简单了解下MinGW。(http://ke..com/view/98554.htm)
MinGW是一个可以自由使用和自由发布的Windows特定头文件和使用GUN工具集导入库的集合,允许在GUN/linux和我Windows平台生成本地的Windows程序而不需要第三方C运行时库。
我们在安装Qt之前,需要在系统中存放这个MinGW工具库。这里,我存放的位置是 D:\Install software;(当然,你完全可以存放在其他地方,只要你自己记住位置就可以了),因为下面的安装过程需要用到这个库。
(2)。接下来,开始安装Qt library。直接双击exe文件就可以了,然后根据提示进行安装,这里我选择安装的位置是D:\QT;安装过程中有个地方需要填入MinGW的位置,该位置就是上一步中MinGW存放的位置,我这里的位置是D:\Install software\mingw;然后很轻松就完成安装;
(3)。然后,为了以后能更方便的使用Qt,我们需要先编译一下。在开始菜单中,找到Qt by Digia v4.8.5 (MinGW OpenSource)这个文件夹,打开,里面会有Qt 4.8.5(Build Debug Libraries)的一个批处理文件,点击后会进入windows下的DOS界面,然后根据里面的提示,根据自己的选择来编译这个库。很简单,就2步吧。不过这个时间有点长,因为库比较大,我电脑比较慢,差不多编译了快4个小时,编译时就和linux下的命令行界面一样的,一行一行的指令往上飞。
(4)。编译完成后,我们需要配置系统环境变量。右键单击我的电脑,选择属性,进入高级系统设置,单击右下角的环境变量,在环境变量path中添加 ;D:\QT\bin;D:\Install software\mingw\bin 然后再添加两个环境变量
QTDIR=D:\QT(编译时的默认目录,这个可以随意设置,用来存放工程文件的);
QMAKESPEC=win32-g++;
到这里,windows下的Qt开发环境基本就配置好了。
下面,我们在D:\QT的目录下创建一个project的文件夹,再在project中创建hello文件夹,再在hello文件夹中创建一个cpp文件,写入一下测试程序:
#include <QApplication> //包含QApplication头文件
#include <QPushButton> //包含QPushButton头文件
int main(int argc, char *argv[]) // 还是标准的main函数
{
QApplication app(argc, argv); // 构造应用,同MFC中的WinApp
QPushButton hello("Hello world!"); // 构造PushButton
hello.resize(100, 30); // 设置按钮大小
hello.show(); // 显示按钮
return app.exec(); // 执行应用,同MFC中的Run
}
然后打开开始菜单中的 Qt 4.8.5 Command Prompt ,通过cd 命令找到cpp所在的路径地址,再输入
qmake -project
make
最后,编译成功通过,会在hello文件夹下的release文件夹中生成一个。exe文件,双击执行即可。也可以在DOS下执行,进入文件夹目录,直接输入:hello.exe 即可;这里,我还列出了一些常用指令
dir 查看文件列表,同linux下的“ls”
cd 改变文件目录 “cd ”返回到上一层 “cd \”到所在磁盘,一般为c:
del 删除一个文件
mkdir创建一个文件夹
rmdir 删除一个空文件夹
notepad xx.cpp 用记事本打开(如果没有则是创建)xx.cpp文件 也可以是。h文件
3.如果觉得使用命令行不习惯,那么就可以安装Qt creater,这是一个图形化的设计编译界面,直接使用EXE文件安装。安装完成后,打开软件,单击工具栏,单击选项按钮,进入下面的页面:
单击构建和运行(这是新版本,老版本是“Qt4”),就是上面这个页面,将Qt版本中的qmake路径手动设置为Qt安装路径中的bin文件夹下的qmake.exe文件即可(添加,确定);
这时你可以在creater中添加hello的项目,看看调试时候能够通过,能否正常运行,如果出现调试不通过,gbd异常中断,那么你还需要下载gdb。因为在之前的Qt Creator中,是以一个Qt SDK的整体来提供的,里面就包括了MinGW和调试器,而且也无需配置,现在的新版本都是分散安装的,所以就需要自己单独再找找了。网上的一个说法是2.5以上的版本必须使用7.2 IIRC版以上的GDB,需要需要自己单独下载,这里我找到两个下载地址。

I. 为什么window下qt执行完make后,点击debug文件夹里面的exe会出现应用程序无法启动(0x0150002)

路径不对 把Debug里的exe 拷到上一级目录运行

J. linux下执行qt程序怎么编译运行

qmake -project? 已经有.pro文件了! 直接运行qmake或者qmake snake.pro或qmake -makefile snake.pro.

重新解压,按以下步骤做:
$ qmake
$ make
找到可执行文件(不是.o, 没后缀的), 一般如果snake.pro中没设置TARGET,默认生成的可执行文件为snake,输入
.$ /snake

热点内容
梦三国2副本脚本 发布:2025-05-14 19:29:58 浏览:859
phpxmlhttp 发布:2025-05-14 19:29:58 浏览:432
Pua脚本 发布:2025-05-14 19:24:56 浏览:448
苹果像素低为什么比安卓好 发布:2025-05-14 19:13:23 浏览:459
安卓机微信怎么设置红包提醒 发布:2025-05-14 19:00:15 浏览:271
androidsystem权限设置 发布:2025-05-14 18:56:02 浏览:970
mq脚本 发布:2025-05-14 18:45:37 浏览:25
仙境传说ro解压失败 发布:2025-05-14 18:45:01 浏览:868
betweenand的用法sql 发布:2025-05-14 18:39:25 浏览:250
tplink摄像头存储卡格式化 发布:2025-05-14 18:37:08 浏览:347