当前位置:首页 » 编程软件 » qt自定义编译输出

qt自定义编译输出

发布时间: 2023-03-20 21:30:15

⑴ qt一直构建Pro文件,这是为什么呢我的Pro文件和编译信息输出如图片所示,好几天了,那位大侠指

应该自己写了一个最简单的Hello程序。同时也就开始使用了一个命令:qmake –project 。这个命令是用来生成QT的工程文件(.pro)的,这个文件是用来设置编译或者链接的变量,以便用qmake生成相对应的Makefile文件。这个文件的基本内容就是:
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
# Input
SOURCES += main.cpp

⑵ qt输出安卓程序设置

1.新建一个普通Widgets的工程

?2.选择Desktep Qt5.9.3 MinGW 32bit编译器和Android for armeabi-v7a (GCC 4.9, Qt 5.9.3 for Android armv7)编译器

?3.然后选择默认的就行

?4.在mainwindow.ui界面上,放入两个按钮,分别命名为发布和订阅

?5.选择MinGW 32bit的debug编译模式,构建和运行

?6.选择Android的debug模式重新构建,构建完后,在工程同目录下,生产一个build-AndroidTest3-Android_for_armeabi_v7a_GCC_4_9_Qt_5_9_3_for_Android_armv7-Debug文件夹,在该生产的文件的android-buildin目录下,会生成该项目的APK

?7.点击运行按钮,在弹出框中选择AVDVertualDevice安卓仿真器,如果没有则点击【Creat Android Virtual Device】按钮新建一个。

?8.点击【ok】按钮后,等待安卓虚拟机启动一段时间,会弹出如下界面:(注意:要等安卓虚拟机完全开机完后,才会自动运行刚才的apk程序,第一次启动可能需要4-5分钟左右,如果需要持续调试,可以不用关闭该安卓虚拟机)

?9.如果刚才生产的apk没有自动启动的话,可以把刚才生产的apk丢进安卓虚拟机中进行测试

⑶ QT 自定义处理调试信息

在QT中,我们经常使用 qDebug() 、 qInfo() 等来打印调试的信息,但是当打印信息过多时,很不利于查找阅读。所以本文介绍使用 QtMessageHandler 类中的 qInstallMessageHandler() 来自定义处理调试信息。

一、在主线程中注册调试信息处理回调

这里的 outputMessage 即为自定义的触发函数,当程序有调试信息时,将会调用此函数

二、实现触发函数

说明:此函数需要接受三个参数
QtMsgType type :表示调试信息类型,包括 QtDebugMsg (调试消息)、 QtInfoMsg (信息消息)、 QtWarningMsg (警告消息和可恢复的错误)、 QtCriticalMsg (关键错误和系统错误)、 QtFatalMsg (致命错误)
const QMessageLogContext &context :表示有关日志消息的其他信息,比如文件名 context.file 、行号 context.line 等等。
const QString &msg :表示原始的调试信息。
这样,我们就可以根据调试信息类型,自定义处理调试信息,并打印到日志文件等等。

但是有时候,我们会有这样的需求,有些类型如神的信息需要打印到屏幕,而有些类型的信息需要打印渣顷亏到日志。当注册了调试信息处理的回调,如何分类去处理呢?
查看QT文档中对于 qInstallMessageHandler() 的描述,可以知道该函数返回一个指向上一个消息处理程序,可以理解为上一个消息处理函数的指针。因此在使用 qInstallMessageHandler() 注册回调时,可以保存函数的返回,从而用之前的处理程序来处理调试信息
例如:

使用 s_messageHandler 来保存函数的返回值,即指向了上一个消息处理函数。在 outputMessage() 函数中使用 s_messageHandler

这样就实现了将Info等信息打印到日志,而debug信息打印到屏幕。
注: 以上写入日乎乱志文件的写法,并不是线程安全的,需要加锁来保证线程安全,这里就不再赘述。

正常的运行程序,日志内容如下:

实际项目中遇到了编译出的Release版本,日志输出没有文件信息、行数的问题。如下:

解决方法:
在.pro文件中添加宏

一定要先删除掉之前编译的中间文件,重新qmake!这样就可以在Release版本中正确输出日志信息。

⑷ Qt如何双击自定义文件后使用自编程序打开

Qt程序你编译出来就是一个.exe应用程序啊,直让念接双击打开就行了,不过你如果要发布的话,要把要用到的库打包在一起,这坦颂困样双击打开就可以直接运行了,不然会提示你缺少动樱歼态库的

⑸ qtcreator中文路径编译解决

办法

1、首先,在Qt Creator中,在项目设置中,编译器部分,勾选“忽略路径中的非ASCII字符”卜悔州。

2、然后,在Qt Creator中,在项目设置中前郑,编译器部分,添加编译器参数“-fexec-charset=gbk”。

3、最后,在Qt Creator中,在项目型蔽设置中,链接器部分,添加链接器参数“-fexec-charset=gbk”。

⑹ 新手求助 qt5.6forAndroid 编译输出有个错误

看起来你并不是要编冲做译mysql库,而是要使散凯衡用mysql库啊: -llibmysql 然后接下来这两条信息是说没找到libmysql.dll文件: c:/qt/mingw/bin/孙渗../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cannot find -llibmysql collect2: ld returned 1 exit status mingw32-make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlmysqld4.dll] Error 1

⑺ QT控制台程序怎么输出中文字符

跟Qt关系不大,这和你源文件编码格式和编译器有关系。

可以给你个建议把上面的程序改成Qt版本的, 哈哈。步骤如下~
1 是用qtcreator
2 如果是, 检查
工具--选项--文本编辑器--行为 选项卡下的File Encodings 中,default Encoding下拉选框里没有中文编码(gbk、gb2132或gb18030等)。我这里是system

3 在程序里
int main(xxxx)
{
QApplication app(xxxx);
QTextCodec::setCodecForTr(QTextCodec::codecForName("system"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("system"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("system"));

qDebug() << QObject::tr("中文");
//记得中文用QObject::tr()包裹起来,这样就可以显示中文了。

app.exec();
}

⑻ 在Windows下Qt里为什么没有终端输出

在 QT creator左边菜单栏,单裤冲击<项目>---->Build&Run--->Run---Run in terminal默认是勾选的,不勾选,运行,然后再胡弊歼勾选卜颂中,就可以弹出终端窗口了

⑼ 怎么在Qt creator中加入命令行参数进行编译程序

直接创建一个QT GUI应用 没添加任何代码

编译输出如下:
21:34:14: 为项目test1执行构建步骤 ...
21:34:14: 配置没有改变, 跳过 qmake 步骤.
21:34:14: 正在启动 "nmake.exe"
{1"?} {2?}
qtcreator_ctrlc_stub: Command line failed: nmake.exe
21:34:14: 进程"nmake.exe"崩溃。
构建项目test1 时发生错误 (目标: 桌面)
当执行构建步骤 'Make'时

在构建和运行那里设置“使用jom代替nmake”后,编译输出如下:
。。。。。。。
'cl' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
jom: E:\QT_new_start\project_files\test1-build-desktop-Qt_4_8_0_for_Desktop_-_MSVC2010__Qt_SDK____\Makefile.Debug [debug\main.obj] Error 1
jom: E:\QT_new_start\project_files\test1-build-desktop-Qt_4_8_0_for_Desktop_-_MSVC2010__Qt_SDK____\Makefile.Debug [debug\mainwindow.obj] Error 1
jom 1.0.8 - empower your cores
jom: E:\QT_new_start\project_files\test1-build-desktop-Qt_4_8_0_for_Desktop_-_MSVC2010__Qt_SDK____\Makefile [debug] Error 2
21:37:32: 进程"E:\QT_new_start\QtCreator\bin\jom.exe"退出,退出代码 2 。
构建项目test1 时发生错误 (目标: 桌面)
当执行构建步骤 'Make'时执行qmake没问题

⑽ Qt中tr函数如何输出变量

Qt在创建工程时,不要使用中文,这会操作无法编译
在给控件添加中文的时候 通常都会产生乱码,处理方法:
1. 在main.cpp中添加
#include<QTextCodec>
QTextCodec::setCodecForTr(QTextCode::codecForLocale() ); /银枯/ 取得本地操作系统的语系
在mainWindow.cpp中处理:
ui->pushButton ->setText( tr(" 中国 "));
2.使用翻译器:Qt文件夹中 assistant.exe;
在pro文件中加入TRANSLATIONS = w.ts
就可以调用lupdate.exe 工具配余 在高能级设置设置中path中添加路径变量锋卖洞 并且包含bin目录中的dll 文件
在控制台中调用一次lupdate 然后在调用Linguist (好麻烦....) 总之ts文件转换为 qm文件
在main.cpp中
#include <QTranselator>
QTranselator d;
d.load("../w/w.qm");
a.installTranslator(&d);

热点内容
安卓手机怎么登苹果手机上的号 发布:2024-05-03 10:48:54 浏览:694
压缩求极限 发布:2024-05-03 10:43:54 浏览:950
有向图遍历算法 发布:2024-05-03 10:43:06 浏览:961
收缩数据库的影响 发布:2024-05-03 10:27:24 浏览:743
python同步文件 发布:2024-05-03 10:27:19 浏览:782
磁盘不能存储 发布:2024-05-03 10:27:14 浏览:52
手机照片存储文件夹 发布:2024-05-03 09:48:20 浏览:183
建设银行的密码是什么 发布:2024-05-03 09:42:45 浏览:360
上传网页用什么服务器 发布:2024-05-03 08:57:08 浏览:909
掌握ftp服务器的配置与管理 发布:2024-05-03 08:06:58 浏览:766