我在Mac上使用Qt 5.4,我的目标平台是IOS。
我有一项任务是向我的应用添加地理位置,我想使用PositioningSource
组件。
我将import QtPositioning 5.2
添加到我的QML文件中,并QT += positioning
添加到我的.pro
文件中,并成功重新编译它。无论如何,当应用程序运行时,我从头文件中收到错误。
您对我如何解决此问题有任何想法吗?我在qmldir文件中看到了字符串plugin declarative_positioning
。目录libdeclarative_positioning.a
中有libdeclarative_positioning.prl
,~/Qt5.4.0/5.4/ios/qml/QtPositioning
个文件。
当我将import QtLocation 5.2
添加到我的QML时会发生同样的情况,但错误信息是:
module "QtLocation" plugin "declarative_location" not found
其他标准模块,例如在同一个QML文件中导入的QtQuick
,QtQuick.Controls
工作正常。
我的qml代码的一个小例子:
import QtQuick 2.3
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2
import QtPositioning 5.2 // an error when this string added: "module "QtPositioning" plugin "declarative_positioning" not found"
//import QtLocation 5.2
Rectangle {
id: rect
PositionSource {
id: src
}
Component.onCompleted : console.log(position.coordinate.longitude, " ", src.position.coordinate.latitude)
}
想想,这就好了,代码和问题在于某些文件或某些方式。这是5.4版本,从自动dmg ...
安装现在,我尝试了使用QtPositionnig的Flickr示例,它工作正常,但我的程序仍然没有......
答案 0 :(得分:1)
不知道你现在是否解决了这个问题,但我遇到了同样的问题,在寻找我的项目与GeoFlick之间的差异后,我发现了问题。
你的* .pro文件应该有一行类似于:
QT += qml quick
要使其工作,您必须向该列表添加定位,以及您可能使用的其他依赖项。例如,geoflickr.pro就是这样的:
QT += qml quick network positioning