将Qt Widgets和QML与QWidget :: createWindowContainer()相结合

时间:2013-10-09 13:17:08

标签: qt qml qwidget qt-quick

我试图关注这篇文章:

http://www.ics.com/blog/combining-qt-widgets-and-qml-qwidgetcreatewindowcontainer#.UlVUExCXcnI

如果我尝试重做这个,我会收到此错误:

  

15:13:36:为项目Test_QMLWidgets01运行步骤......   15:13:36:配置不变,跳过qmake步骤。   15:13:36:开始:" C:\ Qt \ Qt5 \ Tools \ QtCreator \ bin \ jom.exe"       C:\ Qt \ Qt5 \ Tools \ QtCreator \ bin \ jom.exe -f Makefile.Debug       cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I" C: \ Qt的\ QT5 \ 5.1.0 \ msvc2010 \包括" -I" C:\ Qt的\ QT5 \ 5.1.0 \ msvc2010 \包括\ QtWidgets" -I" C:\ Qt的\ QT5 \ 5.1.0 \ msvc2010 \包括\ QtGui" -I" C:\ Qt的\ QT5 \ 5.1.0 \ msvc2010 \包括\ QtANGLE" -I" C:\ Qt的\ QT5 \ 5.1.0 \ msvc2010 \包括\ QtCore" -I"调试" -I"" -I"" -I" C:\ Qt的\ QT5 \ 5.1.0 \ msvc2010 \ mkspecs \ Win32的msvc2010" -Fodebug \ @C:\ Users \ VANBEB~1 \ AppData \ Local \ Temp \ mainwindow.obj.3328.0.jom   mainwindow.cpp   .. \ Test_QMLWidgets01 \ mainwindow.cpp(2):致命错误C1083:无法打开包含文件:' QQuickView':没有这样的文件或目录   jom:E:\ QtProjects \ build-Test_QMLWidgets01-Desktop_Qt_5_1_0_MSVC2010_32bit-Debug \ Makefile.Debug [debug \ mainwindow.obj]错误2   jom:E:\ QtProjects \ build-Test_QMLWidgets01-Desktop_Qt_5_1_0_MSVC2010_32bit-Debug \ Makefile [debug]错误2   15:13:36:进程" C:\ Qt \ Qt5 \ Tools \ QtCreator \ bin \ jom.exe"退出代码2。   构建/部署项目Test_QMLWidgets01时出错(工具包:Desktop Qt 5.1.0 MSVC2010 32bit)   执行步骤'制作'   15:13:36:经过的时间:00:00。

所以我将#include改为#include,但后来我发现链接错误:

  

15:16:27:为项目Test_QMLWidgets01运行步骤......   15:16:27:配置不变,跳过qmake步骤。   15:16:27:开始:" C:\ Qt \ Qt5 \ Tools \ QtCreator \ bin \ jom.exe"       C:\ Qt \ Qt5 \ Tools \ QtCreator \ bin \ jom.exe -f Makefile.Debug       cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I" C: \ Qt的\ QT5 \ 5.1.0 \ msvc2010 \包括" -I" C:\ Qt的\ QT5 \ 5.1.0 \ msvc2010 \包括\ QtWidgets" -I" C:\ Qt的\ QT5 \ 5.1.0 \ msvc2010 \包括\ QtGui" -I" C:\ Qt的\ QT5 \ 5.1.0 \ msvc2010 \包括\ QtANGLE" -I" C:\ Qt的\ QT5 \ 5.1.0 \ msvc2010 \包括\ QtCore" -I"调试" -I"" -I"" -I" C:\ Qt的\ QT5 \ 5.1.0 \ msvc2010 \ mkspecs \ Win32的msvc2010" -Fodebug \ @C:\ Users \ VANBEB~1 \ AppData \ Local \ Temp \ mainwindow.obj.4220.15.jom   mainwindow.cpp       echo 1 / * CREATEPROCESS_MANIFEST_RESOURCE_ID / 24 / RT_MANIFEST * /" debug \ Test_QMLWidgets01.exe.embed.manifest"> debug \ Test_QMLWidgets01.exe_manifest.rc       如果不存在debug \ Test_QMLWidgets01.exe如果存在debug \ Test_QMLWidgets01.exe.embed.manifest del debug \ Test_QMLWidgets01.exe.embed.manifest       如果存在debug \ Test_QMLWidgets01.exe.embed.manifest copy / Y debug \ Test_QMLWidgets01.exe.embed.manifest debug \ Test_QMLWidgets01.exe_manifest.bak       link / NOLOGO / DYNAMICBASE / NXCOMPAT / DEBUG / SUBSYSTEM:WINDOWS" / MANIFESTDEPENDENCY:type =' win32'命名=' Microsoft.Windows.Common - 控制'版本=' 6.0.0.0'公钥=' 6595b64144ccf1df'语言=' ' ProcessorArchitecture用于=' '" / MANIFEST /MANIFESTFILE:debug\Test_QMLWidgets01.exe.embed.manifest /OUT:debug\Test_QMLWidgets01.exe @C:\ Users \ VANBEB~1 \ AppData \ Local \ Temp \ Test_QMLWidgets01.exe.4220.2886.jom   mainwindow.obj:错误LNK2019:未解析的外部符号" __ declspec(dllimport)public:void _ thiscall QQuickView :: setSource(class QUrl const&)" ( _imp_?setSource @ QQuickView @@ QAEXABVQUrl @@@ Z)在函数" public中引用:__ thiscall MainWindow :: MainWindow(类QWidget *)" (?? 0MainWindow @@ @ QAE @@@ PAVQWidget Z)   mainwindow.obj:错误LNK2019:未解析的外部符号" __ declspec(dllimport)public:__ thistall QQuickView :: QQuickView(class QWindow *)"函数" public:__ thishisall MainWindow :: MainWindow(class QWidget *)&#34 (?? 0MainWindow @@ @ QAE @@@ PAVQWidget Z)   mainwindow.obj:错误LNK2001:未解析的外部符号" public:virtual struct QMetaObject const * __thiscall QQuickView :: metaObject(void)const" (?元对象@ QQuickView @@ UBEPBUQMetaObject @@ XZ)   mainwindow.obj:错误LNK2001:未解析的外部符号" public:virtual void * __thiscall QQuickView :: qt_metacast(char const *)" (?qt_metacast @ QQuickView @@ UAEPAXPBD @ Z)   mainwindow.obj:错误LNK2001:未解析的外部符号" public:virtual int __thiscall QQuickView :: qt_metacall(enum QMetaObject :: Call,int,void * *)" (?qt_metacall @ QQuickView @@ UAEHW4Call @ QMetaObject @@ HPAPAX @ Z)   mainwindow.obj:错误LNK2001:未解析的外部符号" protected:virtual bool __thiscall QQuickWindow :: event(class QEvent *)" (?事件@ QQuickWindow @@ MAE_NPAVQEvent @@@ Z)   mainwindow.obj:错误LNK2001:未解析的外部符号" protected:virtual void __thiscall QQuickView :: timerEvent(class QTimerEvent *)" (?timerEvent @ QQuickView @@ MAEXPAVQTimerEvent @@@ Z)   mainwindow.obj:错误LNK2001:未解析的外部符号" public:虚拟类QAccessibleInterface * __thiscall QQuickWindow :: accessibleRoot(void)const" (?accessibleRoot @ QQuickWindow @@ UBEPAVQAccessibleInterface @@ XZ)   mainwindow.obj:错误LNK2001:未解析的外部符号" public:虚拟类QObject * __thiscall QQuickWindow :: focusObject(void)const" (?focusObject @ QQuickWindow @@ UBEPAVQObject @@ XZ)   mainwindow.obj:错误LNK2001:未解析的外部符号" protected:virtual void __thiscall QQuickWindow :: exposeEvent(class QExposeEvent *)" (?exposeEvent @ QQuickWindow @@ MAEXPAVQExposeEvent @@@ Z)   mainwindow.obj:错误LNK2001:未解析的外部符号" protected:virtual void __thiscall QQuickView :: resizeEvent(class QResizeEvent *)" (?resizeEvent @ QQuickView @@ MAEXPAVQResizeEvent @@@ Z)   mainwindow.obj:错误LNK2001:未解析的外部符号" protected:virtual void __thiscall QQuickWindow :: focusInEvent(class QFocusEvent *)" (?focusInEvent @ QQuickWindow @@ MAEXPAVQFocusEvent @@@ Z)   mainwindow.obj:错误LNK2001:未解析的外部符号" protected:virtual void __thiscall QQuickWindow :: focusOutEvent(class QFocusEvent *)" (?focusOutEvent @ QQuickWindow @@ MAEXPAVQFocusEvent @@@ Z)   mainwindow.obj:错误LNK2001:未解析的外部符号" protected:virtual void __thiscall QQuickWindow :: showEvent(class QShowEvent *)" (?showEvent @ QQuickWindow @@ MAEXPAVQShowEvent @@@ Z)   mainwindow.obj:错误LNK2001:未解析的外部符号" protected:virtual void __thiscall QQuickWindow :: hideEvent(class QHideEvent *)" (?hideEvent @ QQuickWindow @@ MAEXPAVQHideEvent @@@ Z)   mainwindow.obj:错误LNK2001:未解析的外部符号" protected:virtual void __thiscall QQuickView :: keyPressEvent(class QKeyEvent *)" (?keyPressEvent @ QQuickView @@ MAEXPAVQKeyEvent @@@ Z)   mainwindow.obj:错误LNK2001:未解析的外部符号" protected:virtual void __thiscall QQuickView :: keyReleaseEvent(class QKeyEvent *)" (?keyReleaseEvent @ QQuickView @@ MAEXPAVQKeyEvent @@@ Z)   mainwindow.obj:错误LNK2001:未解析的外部符号" protected:virtual void __thiscall QQuickView :: mousePressEvent(class QMouseEvent *)" (?mousePressEvent @ QQuickView @@ MAEXPAVQMouseEvent @@@ Z)   mainwindow.obj:错误LNK2001:未解析的外部符号" protected:virtual void __thiscall QQuickView :: mouseReleaseEvent(class QMouseEvent *)" (?mouseReleaseEvent @ QQuickView @@ MAEXPAVQMouseEvent @@@ Z)   mainwindow.obj:错误LNK2001:未解析的外部符号" protected:virtual void __thiscall QQuickWindow :: mouseDoubleClickEvent(class QMouseEvent *)" (?mouseDoubleClickEvent @ QQuickWindow @@ MAEXPAVQMouseEvent @@@ Z)   mainwindow.obj:错误LNK2001:未解析的外部符号" protected:virtual void __thiscall QQuickView :: mouseMoveEvent(class QMouseEvent *)" (?mouseMoveEvent @ QQuickView @@ MAEXPAVQMouseEvent @@@ Z)   mainwindow.obj:错误LNK2001:未解析的外部符号" protected:virtual void __thiscall QQuickWindow :: wheelEvent(class QWheelEvent *)" (?wheelEvent @ QQuickWindow @@ MAEXPAVQWheelEvent @@@ Z)   mainwindow.obj:错误LNK2019:未解析的外部符号" __ declspec(dllimport)public:virtual _ thiscall QQuickView :: ~QQuickView(void)" ( _imp _ ?? 1QQuickView @@ UAE @ XZ)在函数" public:virtual void * _ thiscall QQuickView :: scalar deleting destructor'(unsigned int)" (??_GQQuickView@@UAEPAXI@Z) mainwindow.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QQmlDebuggingEnabler::QQmlDebuggingEnabler(bool)" (__imp_??0QQmlDebuggingEnabler@@QAE@_N@Z) referenced in function "void __cdecl动态初始化器中引用了' qmlEnableDebuggingHelper&#39 ;'(无效)" (?? _EqmlEnableDebuggingHelper @@ YAXXZ)   debug \ Test_QMLWidgets01.exe:致命错误LNK1120:24个未解析的外部   jom:E:\ QtProjects \ build-Test_QMLWidgets01-Desktop_Qt_5_1_0_MSVC2010_32bit-Debug \ Makefile.Debug [debug \ Test_QMLWidgets01.exe]错误1120   jom:E:\ QtProjects \ build-Test_QMLWidgets01-Desktop_Qt_5_1_0_MSVC2010_32bit-Debug \ Makefile [debug]错误2   15:16:30:流程" C:\ Qt \ Qt5 \ Tools \ QtCreator \ bin \ jom.exe"退出代码2。   构建/部署项目Test_QMLWidgets01时出错(工具包:Desktop Qt 5.1.0 MSVC2010 32bit)   执行步骤'制作'   15:16:30:经过的时间:00:04。

我做错了什么?

1 个答案:

答案 0 :(得分:6)

我认为您需要添加到.pro文件中: QT += core gui widgets quick

相关问题