我用的Qt版本是5.9.6,运行了好几次程序都妥妥当当的,然后就被安排上了...出现如下错误: 也是刚入手Qt不久,出现这样的错误我以为是代码的问题,然后撤销一些代码发现还是这样的错,索性就关闭Qt然后重新打开那个项目,发现问题仍未解决,气急败坏之下百度了一堆解决方案,大多都是跟那个动态链接库DLL有关的,还有一些其他五花八门的答案,看着都烦,索性不试了,问题出在编译上,然后我尝试着把当前项目的Debug文件夹删掉(其他模式就会生成其他对应的文件夹,我的是Debug模式),然后重新编译,问题完美…
今天调试以前写的opencv的程序发现每次一点运行就报错误 Starting D:\Qt\QProjects\build-HelloWorld-lian-Debug\debug\HelloWorld.exe...程序异常结束.D:\Qt\QProjects\build-HelloWorld-lian-Debug\debug\HelloWorld.exe crashed 但是直接从桌面运行编译出来的程序是可以的,然后郁闷了一晚上,最后突然想起来点运行的时候是不是qtcreator执行了某条命令..…
突然出现了这样问题,吓死我,然后只是把原来编译好的app里面所有的东西删除再编译就好了. 如果删除后不行,可以试试后面的截图所说,反正我是没有试过的 Starting /Qtwork/build-test1-Desktop_Qt_5_4_2_clang_64bit-Release/test1.app/Contents/MacOS/test1... objc[17277]: Class NotificationReceiver is implemented in both /Qt5.4.2/5.4…
1.Unknown module(s) in QT: xxx 原因1:我们的QT中没有安装这个Module 解决方法:Unknown module(s) 与MaintenanceTool.exe更新.添加组件 - ShineLe - 博客园 原因2:Module名拼写错误,比如把webenginewidgets编写成webenginewidget 这种错误最离谱.最简单.也最难发现,妈的当初我改了一下午才发现! 2.QWebEngine: No such file or directory 解决…
本文参考网上搜索的信息,并做了适当修改可以让捕捉到异常之后阻止程序退出. 另给出了通过命令行自动重启的方法. 如果一个线程里运行下面的代码 ; / a; 将会导致程序自动结束,而且没有任何提示信息 但是如果是在主线程里运行这个代码,是会弹出异常信息对话框的 请问如何在线程里也出现这个异常信息对话框.或者避免程序直接退出,忽略异常,继续往下执行呢?   在WINFORM主线程捕获全部异常就行,如下代码: //处理未捕获的异常 Application.SetUnhandledExceptionMod…
---恢复内容开始--- 我们用QT开发好的应用程序,如果要发布到其他计算机上运行怎么办呢?我们在用VC编程时,单独运行编译好的可执行文件时,经常会发现提示缺少动态库.用QT编程也不例外,在一定程度上,编写好的QT程序会依赖一些动态链接库,包括MSVC运行库,已经QT自身的一些动态链接库.这是由于程序在编译时采用了动态链接的原因.如果我们在编译初期,就设置为静态编译,那么就不会出现这种情况了.动态链接机制是程序开发的一把双刃剑. 既然问题出现了,我们想着解决的办法.很自然的一种想法就是,程序需要…
C# 程序异常管理方案 1.程序出现未处理异常(程序中未捕获异常.添加异常处理) 2.程序添加全局异常捕获 tip:程序已处理异常不在捕获范围内. /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static void Main() { //全局异常捕捉 Application.ThreadException += Application_ThreadException; //UI线程异常 AppDomain.Curr…
下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0-vs2010.exe,这些版本都只是动态编译的,不是我们 所需要的.只有用源码包才能做真正的纯静态编译,如果用Qt官网已编译的标准库.exe文件进行编译,有可能出现各种错误,而且编译后的文件巨大,我当时 就在这里绕了很大的弯子,请童鞋们注意啦!!可能有些老鸟会笑话,但我本着最严肃的态度告诉菜鸟们,…
在应用运行过程中,有很多异常可能会发生,而我们希望在异常发生的时候第一时间的保存现场. 如何处理未捕获的异常呢? 首先我们要实现一个接口  java.lang.Thread.UncaughtExceptionHandler   ,要实现该接口里面的  uncaughtException(Thread t, Throwable e) ,在这个函数里面,我们可以做一些处理.例如将异常信息保存到sdcard上的某个位置,或者提示用户异常出现等等一些操作. 我们在进入Activity的onCreate函…
下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0-vs2010.exe,这些版本都只是动态编译的,不是我们所需要的.只有用源码包才能做真正的纯静态编译,如果用Qt官网已编译的标准库.exe文件进行编译,有可能出现各种错误,而且编译后的文件巨大,我当时就在这里绕了很大的弯子,请童鞋们注意啦!!可能有些老鸟会笑话,但我本着最严肃的态度告诉菜鸟们,上网查…
今天尝试把Qt程序移植到各种虚拟机中测试,由于Qt的依赖库报告往往不能显示出全部依赖库.结果频频出现问题,好不容易全部解决了,这里给出一些套路. 首先对于Qt版本,我用过很多,最终表示现阶段推荐MingGW的版本(此版自带MingGW) 安装时要注意勾选上MinGW ,如果你没有的话.此版本可以在WindowsXP下运行. 之后我要介绍一个工具:Process Explorer v16.01 这款工具可以查看依赖库.第一次使用要先设置一下如图: 之后,你就能在左边找到你每一个正在运行的程序的依赖…
老蔡写了一个基于QT的窗体程序,而过去写的类的调试信息都是用cout显示的,苦于窗体程序无法显示cout信息很多信息都看不到,于是就想到让控制台和窗体同时显示.显示控制台方法如下 1.项目(或者叫“工程”,或者project) 2.连接器(linker) 3.系统(system) 4.将第一项选成控制台(Console).不过务必要记得选择控制台前是在什么选项上,等调试结束后选回去,不然程序编译出来,就带着那个黑框框的控制台了. 打完收工.希望调试C++看不到控制台的天使们看到这篇文章后不再继续…
一.前情介绍 QApplication是Qt开发中经常用到的一个类,用来管理应用程序的生命周期.跟其相关的类还有QCoreApplication和QGuiApplication,分别用于不同场景下为应用程序的控制流和事件处理提供基础的框架.这三个类的构造函数都接收两个参数(分别是argc和argv),和C/C++程序的main函数的参数差不多.因此,大部分情况下我们是直接将main函数的这两个参数传给QApplication(这里以GUI程序为例): #include <QApplication…
Linux下发布QT程序 概述 无论在windows下还是在linux下,可执行程序的运行都依赖于相关的运行库,我们需要将依赖的库找到放到特定的位置,让可执行文件能够找到.在不知道可执行文件依赖哪些库时,有时可以让它自己告诉你,例如直接运行程序会输出缺少的库名,执行ldd命令查看可执行文件的依赖库. 所以发布程序就是将必要的文件放到指定的位置,并修改某些系统配置. 我发布的环境为X86下的ubuntu 10.04-desktop. QT程序依赖的库 在linux中,一般依赖的库会放在/usr/l…
最近在做Qt程序开发,程序在Debug下跑是没有问题的,发布到Release版本后,出现各种问题: 报各种莫名其妙的错误,类似的错误有:   QEventLoop:Cannot be used without QApplication QObject::connect:Cannot connect (null)::aboutToQuit() to QNativeWifiEngine::closeHandle()   QObject::connect:Cannot connect (null)::…
原文请看:http://www.cnblogs.com/elect-fans/archive/2012/03/15/2408579.html Qt 程序在Windows下发布是本文要介绍的内容,不多说了,先来看内容,针对这个问题,其实 Qt 的 manual 中解释的已经比较清楚了.下面是我根据自己的理解和实验后写的东西,希望比Qt文档容易理解一点. 下面不涉及静态编译(静态编译可以看看这儿),只包含动态编译(也就是Qt默认的情况),主要又分 mingw 和 msvc 两种情况: Mingw 首…
这是一个在高二的时候写的一个QT程序,当时对于QT也不算是特别熟悉吧,算是我第一个QT程序,当时由于CS1.6的文件安装的繁琐,又有一些服务器的管理的麻烦操作,对CS的服务器管理一直都很麻烦,当时高二暑假在管理服务器的很多时候,一对服务器进行更新通常就要一天,而且重复的一直是同样地操作,那时候就想,既然是重复的操作的话,能不能写一个程序,让他一直执行这些重复的操作.相应的文件做相应的操作,这应该就是这个程序的特点. 支持安装的CS1.6的文件:sma,amxx,amx,wad,wav,spr,m…
[前言] 业务需求将qt程序打包成win可执行文件.咱是做linux的,奈何用的麒麟系统,程序运行在win,好嘛,重新在win qtcreator编译后打包呗. [目标] 1.给qt程序添加一个图标. 2.qt程序打包. 3.将打包后的qt程序做成单个文件. [正文] 1.给qt程序添加一个图标: 首先确定程序可以正常编译,运行. 然后在项目代码目录下放一个xxx.ico文件,图片不要太大32*32刚好. 再然后打开项目的.pro文件,在里面加入RC_ICONS = xxx.ico. 最后编译程…
本文讨论在 Windows 平台下编译成功的 Qt 程序,如何在未配置 Qt 开发环境的 Windows 平台下独立运行的方法. 经过验证发现,在 Ubuntu 平台下编译成功的程序可在未安装 Qt 开发环境下的 Ubuntu16.04 中运行,所以,本文仅讨论,在 Windows 平台下编译成功的 Qt 程序,在未配置 Qt 开发环境的 Windows 平台下独立运行的方法. 1. 编译模式选择 如若想要发布程序,在 IDE 中编译一定要选择 release 而不是 debug,编译成 rel…
导读:Qt程序编写好以后该如何发布.本文教你使用Qt自带工具windeployqt来进行操作. 本文字数:500,阅读时长大约:3分钟 (1)编写一个简单的程序 我们先做一个简单的窗口,添加一个图片资源文件,放置到窗口当中. 选择添加Qt Resource File文件类型 选择资源文件的路径,并为它命名 点击完成 设置资源前缀,如果资源层次不是很复杂的话,可以只设置一层,用"/"表示 点击Add Files添加一个图片文件 在主窗口中添加一个 Tool Button,设置刚才的图片为…
部署qt程序时,经常涉及到Qt5.5.0\5.5\msvc2013\plugins目录下的一些动态链接库 例如数据库sqldrivers,操作系统类型platforms,读取各种图片imageformats 需要将这些文件夹和exe拷贝在同一个目录…
参考文章:http://blog.csdn.net/jiang1013nan/article/details/6667871 http://my.oschina.net/zjlaobusi/blog/138983 问题:为了方便Qt程序的开发,我采用的是在windows下编写好程序,然后在linux中编译再下载到开发板中运行的方式,程序的调试信息通过串口输出到windows下的secureCRT.其中windows中的Qt版本为5.3,linux及开发板中的Qt版本为4.8.5.由于linux系…
一.使用单文件封包工具 单文件封包工具,顾名思义就是将可执行文件及其相关依赖打包成单个可执行文件的工具. 这里推荐两个单文件封包工具:Enigma Virtual Box和BoxedApp Packer,都是免费的,度娘有下载. 这两个工具操作方法类似,这里以Enigma Virtual Box为例,打包一个我写的一个Qt程序. Qt程序的目录如下图所示,包括可执行文件及其依赖库. 打开Enigma Virtual Box,浏览封包的主程序,也就是上图中的DXManager.exe,如下图所示.…
一.背景 最近系统更新以后,我在Idea中适用80端口启动项目的时候发现80端口被占用了,就查了资料看怎么找到占用80端口的程序并结束其运行,下面把解决方式共享给大家. 二.解决步骤 1.首先打开控制台. win+X输入cmd回车 2.使用命令:netstat -ano|findstr "80"进行查看80端口所对应的PID. TCP     127.0.0.1:80       0.0.0.0:0             LISTENING    2448 3.使用命令:taskli…
AIX操作系统有时会出现程序异常不释放光驱,可以用以下命令进行处理: #fuser -kxuc /dev/cd0 或者 #fuser /dev/cd0 以上命令会列出访问光驱设备的所有进程,然后使用kill -9 pid终止进程即可.…
今天准备从生产库向测试库进行数据导入,结果在imp导入的时候遇到" IMP-00009: 导出文件异常结束" 错误,google一下,发现可能有如下原因导致 imp的数据太大,没有写buffer和commit 两个数据库字符集不同 从低版本exp的dmp文件,向高版本imp 导出的dmp文件出错 传输dmp文件时,文件损坏 解决办法: imp时指定buffer=10240000(根据数据库内存而定),commit=y 把测试库的字符集改过来,具体操作请教google老师 高版本的dmp…
参考链接: MXE.>大多数程序都是在windows平台下开发的程序.windows 在现实中也是绕不过的一个系统平台,做为受过几年VC,MFC”虐待”的程序员,在做为一个程序员之前是一位Linux重度使用者,受够了MFC之后一直想要找一个框架替换,使用过GTK,wxWidgets,Qt,最后还是Qt用得多一些.我认为程序跨平台应该是一个基本标准,同一份代码不需改动,或者改动极少,放在不同的平台下编译就能使用.不同平台,同样的界面,同样的操作,同样的体验.这里要讲的是我如何在Linux 下开发跨…
首先,你应该该知道什么叫静态引用编译.什么叫动态引用编译.我这里只是简单的提提,具体的可以google一下. 动态引用编译,是指相关的库,以dll的形式引用库.动态编译的Exe程序尺寸比较小,因为相关的库都没有包含进来.当然,程序发布的时候,还要把相关的库也一并发布出去. 静态引用编译,是指把相关的库也一并引入Exe文件.这是程序的尺寸就会很大,不过,程序发布就会变得简单很多. 其次,你可能会注意到我标题上写了“真正”这两个字.为什么我要强调真正这两个字呢?因为使用VC编译的C或者C++程序,都…
最近发现了一个非常恼人的程序deployment的问题,估计大家有可能也会遇到,特此memo. 问题的出现我觉得主要还是微软搞的花头太多, 一个不知所谓的manifest文件让本来简单的程序发布变得困难重重. 找了找关于manifest的介绍,貌似这个文件是用来描述程序或者库的依赖关系, 特别是对程序依赖的版本进行描述, 这样系统可以通过manifest的内容找到正确的库版本. 理论上讲这个dd确实是不错, 可以解决版本不兼容的问题, 保证程序运行的时候用的是指定版本的库. 不过实际操作起来麻烦…
在windows下编译好的QT程序在其他没有安装QT的机器上会出现图标和图片无法正常显示的问题. 这时我们可以通过以下方式来解决: 在release文件夹里创建plugins文件夹,并将QT安装目录下的plugins\imageformats文件夹复制到release\plugins文件夹(imageformats文件夹包含了许多图片格式的插件,如jpeg等). 然后最重要的一步是在main.cpp中添加以下语句 QApplication::addLibraryPath("./plugins&q…