qt的helloworld程序编译出错,该如何处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt的helloworld程序编译出错,该如何处理相关的知识,希望对你有一定的参考价值。
参考技术A F:\temp_file\qt\hello>makemake -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版本
那也不会影响编译。。默认都是最高版本的!本回答被提问者采纳
"Qt Qtwebengineprocess已停止工作",该如何处理
可能程序不兼容, 可以更换个版本试试。另外建议参考下程序对配置的要求。或者右键需要运行的程序 选择兼容性 用兼容模式运行试试。
qt程序在编译的时候,会在输出目录下自动生成一个文件夹, 如下:
e:/build-untitled-Desktop_Qt_5_10_1_MSVC2015_32bit-Debug/
e:/build-untitled-Desktop_Qt_5_10_1_MSVC2015_32bit-Release/
具体名称因编译环境不同而异,但结构相dao同,注意看最后一段,-Debug -Release , 你注意对比下两个目录中文件的差异。仍可能缺少相应的支持文件。
扩展资料:
Qt支持下列操作系统:Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。
Qt的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。
参考资料来源:百度百科-qt
参考技术A 可能因为电脑装了很多软件,VS2008,VS2010,QT4.7,QT5.2静态库版本和动态库版本,还各种环境,导致一些环境变量或者库的版本不对等等这些原因中某一个原因引起的吧。 参考技术B 可能程序不兼容, 可以更换个版本试试。另外建议参考下程序对配置的要求。或者右键需要运行的程序 选择兼容性 用兼容模式运行试试。
台式机(AMD平台)性能如何优化
¥2.99
电脑调修-专家1对1远程在线服务
¥38
路由器的选购、设置与进阶玩法
¥39
一看就会的RAID实用教程
¥29.9
小白必看的硬盘知识
¥9.9
查
看
更
多
- 官方服务
- 官方网站
Qt WebEngine采用了Chromium提供的多进程模块,该模块要求QtWebEngineProcess.exe随应用一起部署。每个QWebEngineView或WebEngineView实例都会启动一个QtWebEngineProcess.exe进程。例如,一个浏览器应用的每个tab页面都是一个单独运行的进程,大多数现代浏览器使用这种方法来提供稳定的浏览体验。使用谷歌浏览器时,每打开一个页面,任务管理器中就会增加一个chrome.exe进程
当应用运行时,默认会去可执行文件同目录下查找QtWebEngineProcess.exe,但是直接使用QtWebEngineProcess.exe有两个缺点:
1.QtWebEngineProcess这个名字和我们的应用没半毛钱关系,这点可以参考微信,如下图所示。因此我们可以将QtWebEngineProcess.exe改成CangegeWeb.exe(假设应用的名字是Cangege.exe)
2.QtWebEngineProcess会暴露我们的应用是Qt开发的。
通过设置QTWEBENGINEPROCESS_PATH环境变量可以指定QtWebEngineProcess.exe的路径和名字,代码如下所示。
QString webengingProcessPath = QCoreApplication::applicationDirPath() + "/" + "CangegeWeb.exe";qputenv("QTWEBENGINEPROCESS_PATH", webengingProcessPath.toLocal8Bit());
这里还是把QtWebEngineProcess.exe放在了和可执行文件同一目录,只不过名字改成了CangegeWeb.exe
以上是关于qt的helloworld程序编译出错,该如何处理的主要内容,如果未能解决你的问题,请参考以下文章
Qt Qtwebengineprocess已停止工作,该如何处理