在 Qt 5 qtquick1 编译中找不到模块脚本和脚本私有

Modules script and script-private not found in Qt 5 qtquick1 compilation

我的 Qt for Pi 交叉编译失败,出现有关脚本私有的错误(当然,这是由我编译的)。似乎即使它在那里也找不到它。以相同模式安装的其他模块不会出现此错误。

    $ /opt/pi-edis/qt5/qtbase/bin/qmake  "CONFIG += release" 
Info: creating cache file /opt/pi-edis/qt5/qtquick1/.qmake.cache
ariel@odin:/opt/pi-edis/qt5/qtquick1$ make -j10
cd src/ && ( test -e Makefile || /opt/pi-edis/qt5/qtbase/bin/qmake /opt/pi-edis/qt5/qtquick1/src/src.pro CONFIG\ +=\ release -o Makefile ) && make -f Makefile 
make[1]: se ingresa al directorio «/opt/pi-edis/qt5/qtquick1/src»
cd declarative/ && ( test -e Makefile || /opt/pi-edis/qt5/qtbase/bin/qmake /opt/pi-edis/qt5/qtquick1/src/declarative/declarative.pro CONFIG\ +=\ release -o Makefile ) && make -f Makefile 
Project MESSAGE: perl -w /opt/pi-edis/qt5/qtbase/bin/syncqt.pl -module QtDeclarative -version 5.4.0 -outdir /opt/pi-edis/qt5/qtquick1 /opt/pi-edis/qt5/qtquick1
<srcbase> = /opt/pi-edis/qt5/qtquick1 
<outbase> = /opt/pi-edis/qt5/qtquick1 
QtDeclarative: created fwd-include header(s) for <srcbase>/src/declarative/ { qtdeclarativeglobal.h (1), qtdeclarativeglobal_p.h (1) }
QtDeclarative: created fwd-include header(s) for <srcbase>/src/declarative/debugger/ { qdeclarativedebug.h (2), qdeclarativedebugclient_p.h (1), qdeclarativedebuggerstatus_p.h (1), qdeclarativedebughelper_p.h (1), qdeclarativedebugserver_p.h (1), qdeclarativedebugserverconnection_p.h (1), qdeclarativedebugservice_p.h (1), qdeclarativedebugservice_p_p.h (1), qdeclarativedebugtrace_p.h (1), qdeclarativeenginedebug_p.h (1), qdeclarativeenginedebugservice_p.h (1), qdeclarativeinspectorinterface_p.h (1), qdeclarativeinspectorservice_p.h (1), qjsdebuggeragent_p.h (1), qjsdebugservice_p.h (1), qpacketprotocol_p.h (1) }
QtDeclarative: created fwd-include header(s) for <srcbase>/src/declarative/graphicsitems/ { qdeclarativeanchors_p.h (1), qdeclarativeanchors_p_p.h (1), qdeclarativeanimatedimage_p.h (1), qdeclarativeanimatedimage_p_p.h (1), qdeclarativeborderimage_p.h (1), qdeclarativeborderimage_p_p.h (1), qdeclarativeevents_p_p.h (1), qdeclarativeflickable_p.h (1), qdeclarativeflickable_p_p.h (1), qdeclarativeflipable_p.h (1), qdeclarativefocuspanel_p.h (1), qdeclarativefocusscope_p.h (1), qdeclarativegraphicswidget_p.h (1), qdeclarativegridview_p.h (1), qdeclarativeimage_p.h (1), qdeclarativeimage_p_p.h (1), qdeclarativeimagebase_p.h (1), qdeclarativeimagebase_p_p.h (1), qdeclarativeimplicitsizeitem_p.h (1), qdeclarativeimplicitsizeitem_p_p.h (1), qdeclarativeitem.h (2), qdeclarativeitem_p.h (1), qdeclarativeitemchangelistener_p.h (1), qdeclarativeitemsmodule_p.h (1), qdeclarativelayoutitem_p.h (1), qdeclarativelistview_p.h (1), qdeclarativeloader_p.h (1), qdeclarativeloader_p_p.h (1), qdeclarativemousearea_p.h (1), qdeclarativemousearea_p_p.h (1), qdeclarativepainteditem_p.h (1), qdeclarativepainteditem_p_p.h (1), qdeclarativepath_p.h (1), qdeclarativepath_p_p.h (1), qdeclarativepathview_p.h (1), qdeclarativepathview_p_p.h (1), qdeclarativepincharea_p.h (1), qdeclarativepincharea_p_p.h (1), qdeclarativepositioners_p.h (1), qdeclarativepositioners_p_p.h (1), qdeclarativerectangle_p.h (1), qdeclarativerectangle_p_p.h (1), qdeclarativerepeater_p.h (1), qdeclarativerepeater_p_p.h (1), qdeclarativescalegrid_p_p.h (1), qdeclarativetext_p.h (1), qdeclarativetext_p_p.h (1), qdeclarativetextedit_p.h (1), qdeclarativetextedit_p_p.h (1), qdeclarativetextinput_p.h (1), qdeclarativetextinput_p_p.h (1), qdeclarativetextlayout_p.h (1), qdeclarativetranslate_p.h (1), qdeclarativevisualitemmodel_p.h (1) }
QtDeclarative: created fwd-include header(s) for <srcbase>/src/declarative/qml/ { qbitfield_p.h (1), qdeclarative.h (1), qdeclarativebinding_p.h (1), qdeclarativebinding_p_p.h (1), qdeclarativeboundsignal_p.h (1), qdeclarativecleanup_p.h (1), qdeclarativecompiledbindings_p.h (1), qdeclarativecompiler_p.h (1), qdeclarativecomponent.h (2), qdeclarativecomponent_p.h (1), qdeclarativecontext.h (2), qdeclarativecontext_p.h (1), qdeclarativecontextscriptclass_p.h (1), qdeclarativecustomparser_p.h (1), qdeclarativecustomparser_p_p.h (1), qdeclarativedata_p.h (1), qdeclarativedirparser_p.h (1), qdeclarativedom_p.h (1), qdeclarativedom_p_p.h (1), qdeclarativeengine.h (2), qdeclarativeengine_p.h (1), qdeclarativeerror.h (2), qdeclarativeexpression.h (2), qdeclarativeexpression_p.h (1), qdeclarativeextensioninterface.h (2), qdeclarativeextensionplugin.h (2), qdeclarativefastproperties_p.h (1), qdeclarativeglobal_p.h (1), qdeclarativeglobalscriptclass_p.h (1), qdeclarativeguard_p.h (1), qdeclarativeimageprovider.h (2), qdeclarativeimport_p.h (1), qdeclarativeinclude_p.h (1), qdeclarativeinfo.h (2), qdeclarativeinstruction_p.h (1), qdeclarativeintegercache_p.h (1), qdeclarativelist.h (3), qdeclarativelist_p.h (1), qdeclarativelistscriptclass_p.h (1), qdeclarativemetatype_p.h (1), qdeclarativenetworkaccessmanagerfactory.h (2), qdeclarativenotifier_p.h (1), qdeclarativeobjectscriptclass_p.h (1), qdeclarativeparser_p.h (1), qdeclarativeparserstatus.h (2), qdeclarativeprivate.h (3), qdeclarativeproperty.h (3), qdeclarativeproperty_p.h (1), qdeclarativepropertycache_p.h (1), qdeclarativepropertyvalueinterceptor.h (2), qdeclarativepropertyvaluesource.h (2), qdeclarativeproxymetaobject_p.h (1), qdeclarativerefcount_p.h (1), qdeclarativerewrite_p.h (1), qdeclarativescriptparser_p.h (1), qdeclarativescriptstring.h (2), qdeclarativesqldatabase_p.h (1), qdeclarativestringconverters_p.h (1), qdeclarativetypeloader_p.h (1), qdeclarativetypenamecache_p.h (1), qdeclarativetypenamescriptclass_p.h (1), qdeclarativetypenotavailable_p.h (1), qdeclarativevaluetype_p.h (1), qdeclarativevaluetypescriptclass_p.h (1), qdeclarativevme_p.h (1), qdeclarativevmemetaobject_p.h (1), qdeclarativewatcher_p.h (1), qdeclarativeworkerscript_p.h (1), qdeclarativexmlhttprequest_p.h (1), qpodvector_p.h (1) }
QtDeclarative: created fwd-include header(s) for <srcbase>/src/declarative/util/ { qdeclarativeanimation_p.h (1), qdeclarativeanimation_p_p.h (1), qdeclarativeapplication_p.h (1), qdeclarativebehavior_p.h (1), qdeclarativebind_p.h (1), qdeclarativeconnections_p.h (1), qdeclarativefontloader_p.h (1), qdeclarativelistaccessor_p.h (1), qdeclarativelistmodel_p.h (1), qdeclarativelistmodel_p_p.h (1), qdeclarativelistmodelworkeragent_p.h (1), qdeclarativenullablevalue_p_p.h (1), qdeclarativeopenmetaobject_p.h (1), qdeclarativepackage_p.h (1), qdeclarativepixmapcache_p.h (1), qdeclarativepropertychanges_p.h (1), qdeclarativepropertymap.h (2), qdeclarativesmoothedanimation_p.h (1), qdeclarativesmoothedanimation_p_p.h (1), qdeclarativespringanimation_p.h (1), qdeclarativestate_p.h (1), qdeclarativestate_p_p.h (1), qdeclarativestategroup_p.h (1), qdeclarativestateoperations_p.h (1), qdeclarativestyledtext_p.h (1), qdeclarativesystempalette_p.h (1), qdeclarativetimeline_p_p.h (1), qdeclarativetimer_p.h (1), qdeclarativetransition_p.h (1), qdeclarativetransitionmanager_p_p.h (1), qdeclarativeutilmodule_p.h (1), qdeclarativeview.h (2), qdeclarativexmllistmodel_p.h (1), qlistmodelinterface_p.h (1) }
QtDeclarative: created fwd-include header(s) for <srcbase>/src/declarative/qml/parser/ { qdeclarativejsast_p.h (1), qdeclarativejsastfwd_p.h (1), qdeclarativejsastvisitor_p.h (1), qdeclarativejsengine_p.h (1), qdeclarativejsglobal_p.h (1), qdeclarativejsgrammar_p.h (1), qdeclarativejslexer_p.h (1), qdeclarativejsmemorypool_p.h (1), qdeclarativejsnodepool_p.h (1), qdeclarativejsparser_p.h (1) }
QtDeclarative: created fwd-include header(s) for <srcbase>/src/declarative/qml/rewriter/ { textwriter_p.h (1) }
QtDeclarative: created version header
QtDeclarative: created master header
QtDeclarative: created headers.pri file
Project ERROR: Unknown module(s) in QT: script-private
make[1]: *** [sub-declarative-make_first-ordered] Error 3
make[1]: se sale del directorio «/opt/pi-edis/qt5/qtquick1/src»

原来

 /opt/pi-edis/qt5/qtbase/bin/qmake  "CONFIG += release" 

是in-tree qmake,应该被使用,我被告知使用已安装的,这是自动生成并安装在您的主机中的ARM应该是相同的路径。在我的例子中是:

 /opt/rpi/qt5-edis/bin/qmake

这背后的逻辑是,in-tree qmake 只能访问 qtbase 模块,并且仅用于构建和安装基本块。

在任何情况下,正确和首选的方法是编译 qtbase,并且从那时起只使用前缀路径中的那个。