Прежде всего, мне нужно создать приложение «hello world» с использованием QML & amp; QT Creator как описано здесь http://developer.ubuntu.com/get-started/gomobile/
Во-вторых, когда я пытался установить платформу QML и зависимости, которые я не мог выполните шаг 2 (из «Установка предварительного просмотра набора инструментов Ubuntu QML»), потому что у меня есть дистрибутив (бэкбокс) на основе Ubuntu 12.04, но я решаю его, следуя инструкциям этого поста: https://askubuntu.com/ questions / 235440 / how-do-i-install-the-qml-toolkit-on-12-04
В-третьих, когда я открываю QTCreator и пытаюсь выполнить CurrencyConverter ( helloWorld app) программа не может найти следующие пакеты:
import Ubuntu.Components 0.1
Что я могу сделать, чтобы запустить приложение?
заранее спасибо.
import QtQuick 2.0
import Ubuntu.Components 0.1
Rectangle {
id: root
width: units.gu(60)
height: units.gu(80)
color: "lightgray"
property real margins: units.gu(2)
property real buttonWidth: units.gu(9)
Label {
id: title
ItemStyle.class: "title"
text: i18n.tr("Currency Converter")
height: contentHeight + root.margins
anchors {
left: parent.left
right: parent.right
top: parent.top
}
}
}
Я узнал решение, по крайней мере, для человечности 12.04. Я должен был перейти к официальному сайту http://qt-project.org/downloads#qt-creator и загрузить последний спокойный пакет, который является спокоен 5.0.0.
*Примечание: Ubuntu 12.04 не включает последнюю спокойную версию, таким образом, необходимо загрузить ее вручную.
*Примечание: Перед установкой я удалил предыдущую версию QtCreator (2.5.0)
Все, что необходимо сделать для установки пакета Qt5:
chmod 755 qt-linux-opensource-5.0.0-x86_64-offline.run
Затем просто выполните пакет и запустите установщик с настройками по умолчанию.
./qt-linux-opensource-5.0.0-x86_64-offline.run
Теперь должен существовать /opt/qt5/imports/Ubuntu/Components
путь, со всеми библиотеками!
После этого я следовал инструкциям CurrencyConverter
*Обратите внимание что строка: import Ubuntu.Components 0.1
все еще выделяется с красной строкой, но прогонами программы обычно путем выбора Tools > External > Qt Quick > Preview (qmlviewer)
(благодаря @David Planella)
Если у вас правильно установлен QT5 и все еще выделено import Ubuntu.Components 0.1
, вы должны сделать это:
importPaths: [ "/opt/qt5/imports" ]
до последнего закрытия: }
... и проблема должна исчезнуть.
На самом деле вы можете перейти к настройкам -> сборка и запуск -> версии qt (у меня есть польская версия, поэтому мне пришлось перевести ее обратно на английский - извините, если имена немного отличаются). Затем вы добавляете последнюю версию qt
, которую вы уже установили - она находится в /opt/qt5/bin
.
Возможно, вы захотите запустить / собрать все демонстрационные версии qt, открыв файлы .pro для конкретных примеров.
chown -R yourusername /opt/qt5/examples/
Когда я решил создать пример opengl / textures, открыв файл textures.pro в qtcreator, он автоматически настроил проект, НО по умолчанию указывал на QT4. Я получил странную ошибку, которая говорит, что он не может найти QtWidgets, когда я пытался собрать с использованием qt4. С Qt5 в качестве инструмента сборки проблема исчезла.
Убедитесь, что вы указываете на QT5 в качестве сборки проекта для отладки / выпуска, потому что это не значение по умолчанию в qtcreator. В противном случае вы получите странные ошибки при сборке. Эту проблему легко обнаружить в выходных данных компиляции, в которых должны быть показаны пути qt5 include и qt5 libs.
2:58:51: Running steps for project textures...
12:58:51: Starting: "/usr/bin/make" clean -w
make: Entering directory `/opt/qt5/examples/qtbase/opengl/textures-build-Desktop Release'
rm -f qrc_textures.cpp
rm -f moc_glwidget.cpp moc_window.cpp
rm -f glwidget.o main.o window.o qrc_textures.o moc_glwidget.o moc_window.o
rm -f *~ core *.core
make: Leaving directory `/opt/qt5/examples/qtbase/opengl/textures-build-Desktop-Release'
12:58:52: The process "/usr/bin/make" exited normally.
12:58:52: Configuration unchanged, skipping qmake step.
12:58:52: Starting: "/usr/bin/make" -w
make: Entering directory `/opt/qt5/examples/qtbase/opengl/textures-build-Desktop-Release'
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. -o glwidget.o ../textures/glwidget.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. -o main.o ../textures/main.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. -o window.o ../textures/window.cpp
/opt/qt5/bin/rcc -name textures ../textures/textures.qrc -o qrc_textures.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. -o qrc_textures.o qrc_textures.cpp
/opt/qt5/bin/moc -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. ../textures/glwidget.h -o moc_glwidget.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. -o moc_glwidget.o moc_glwidget.cpp
/opt/qt5/bin/moc -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. ../textures/window.h -o moc_window.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. -o moc_window.o moc_window.cpp
g++ -m64 -Wl,-O1 -Wl,-rpath,/opt/qt5/lib -o textures glwidget.o main.o window.o qrc_textures.o moc_glwidget.o moc_window.o -L/usr/X11R6/lib64 -L/opt/qt5/lib -lQtOpenGL -lQtWidgets -lQtGui -lQtCore -lGL -lpthread
make: Leaving directory `/opt/qt5/examples/qtbase/opengl/textures-build-Desktop-Release'
12:58:57: The process "/usr/bin/make" exited normally.