2016-06-07 4 views
0

Я много слышал о Qt, поэтому я хотел попробовать. К сожалению, я столкнулся с проблемой, в начале ..Настройка среды Qt для разработки Android

Прежде всего я настроить среду в соответствии с OFFICAL кварт руководство: http://doc.qt.io/qt-5/androidgs.html

Когда я пытаюсь построить пример «сотовый телефон», который находится на Добро пожаловать страницу, я получаю эту ошибку, которая не помогает мне почти ничего:

:-1: error: [qrc_cellphone.cpp] Error 1 

Это выход компиляции:

20:23:41: Running steps for project cellphone... 
20:23:41: Configuration unchanged, skipping qmake step. 
20:23:41: Starting: "/usr/bin/make" 
/opt/Qt/5.6/android_armv7/bin/rcc -name cellphone ../cellphone/cellphone.qrc -o qrc_cellphone.cpp 
RCC: Error in '../cellphone/cellphone.qrc': Cannot find file '../../3rdparty/three.js' 
Makefile:509: recipe for target 'qrc_cellphone.cpp' failed 
make: *** [qrc_cellphone.cpp] Error 1 
20:23:42: The process "/usr/bin/make" exited with code 2. 
Error while building/deploying project cellphone (kit: Android for armeabi-v7a (GCC 4.9, Qt 5.6.0)) 
When executing step "Make" 
20:23:42: Elapsed time: 00:00. 

Когда я т участвовав для создания и сборки Qt Quick приложения я получаю эти две ошибки:

:-1: error: cannot find -lGL 
:-1: error: collect2: error: ld returned 1 exit status 

Для этого один вывод компиляции:

20:26:01: Running steps for project QtQuickTest... 
20:26:01: Configuration unchanged, skipping qmake step. 
20:26:01: Starting: "/usr/bin/make" 
g++ -Wl,-z,origin -Wl,-rpath,\$ORIGIN -Wl,-rpath,/opt/Qt/5.6/gcc_64/lib -o QtQuickTest main.o qrc_qml.o -L/opt/Qt/5.6/gcc_64/lib -lQt5Quick -lQt5Gui -lQt5Qml -lQt5Network -lQt5Core -lGL -lpthread 
/usr/bin/ld: cannot find -lGL 
Makefile:198: recipe for target 'QtQuickTest' failed 
collect2: error: ld returned 1 exit status 
make: *** [QtQuickTest] Error 1 
20:26:01: The process "/usr/bin/make" exited with code 2. 
Error while building/deploying project QtQuickTest (kit: Desktop Qt 5.6.0 GCC 64bit) 
When executing step "Make" 
20:26:01: Elapsed time: 00:00. 

Моя ОС Kubuntu, если это имеет значение. Что я упустил?

Заранее благодарен!

Редактировать после ответа user12345 в:

Теперь, по крайней мере Быстрый проект работает на рабочем столе. Но я получаю сообщение об ошибке, когда я пытаюсь построить для Android:

BUILD FAILED 
/home/nandor/Programs/android-sdk-linux/tools/ant/build.xml:649: The following error occurred while executing this line: 
/home/nandor/Programs/android-sdk-linux/tools/ant/build.xml:694: null returned: 1 

Total time: 0 seconds 
Building the android package failed! 
    -- For more information, run this command with --verbose. 
16:28:36: The process "/opt/Qt/5.6/android_armv7/bin/androiddeployqt" exited with code 14. 
Error while building/deploying project QtQuickTest (kit: Android for armeabi-v7a (GCC 4.9, Qt 5.6.0)) 
When executing step "Build Android APK" 

Однако мобильный телефон, построенный в примере по-прежнему дает такое же сообщение об ошибке. Я не знаю, где я должен найти или найти файл ../../3rdparty/three.js и почему это не включено в проект. В любом случае, я думаю, это не связано с основным вопросом, который я предполагаю, однако я счастлив, если вы можете ответить. :)

Edit 2: android api version

Это 648-650 линии в build.xml:

<do-only-if-manifest-hasCode 
       elseText="hasCode = false. Skipping aidl/renderscript/R.java"> 
      <echo level="info">Handling aidl files...</echo> 

И 694:

proguardFile="${out.absolute.dir}/proguard.txt"> 
+0

Я отредактировал мой вопрос и добавил компилировать выходы. – Nandor

+0

Он прекрасно подходит для настольной версии? – user12345

+0

К сожалению нет. Я только что понял из компиляции вывода, моя вторая попытка была с Desktop Kit. – Nandor

ответ

1

Я чувствую, что мы должны шаг за шагом и попытайтесь устранить ошибки, которые вы наблюдаете. Я вижу, что вы используете Qt 5.6.0, я предлагаю вам обновить вашу Mesa Package на вашей машине Ubuntu, выполнив следующую команду:

sudo apt-get install libgl1-mesa-dev 

Это должно решить рода ошибки, как показано ниже, что вы наблюдаете :

/usr/bin/ld: cannot find -lGL 
collect2: error: ld returned 1 exit status 
The process "/usr/bin/make" exited with code 2. 

После этого попробуйте очистить и перестроить настольную версию и посмотреть, что вы найдете.

Приходя к вашей Android ошибки сборки:

Мой Guess будет то, что вы могли бы установить построить настройки вашего андроида набора неправильно.Я предлагаю вам изменить Android build SDK к android-23, как показано на прилагаемом рисунке ниже:

build settings

+0

См. Раздел редактирования моего основного вопроса. Я не мог ответить здесь, потому что это было слишком долго. – Nandor

+0

Вы используете некоторые примеры qt-программы на странице приветствия Qt Creator или это было ваше собственное приложение. Если он построен в примере - можете ли вы рассказать мне, что это за пример. – user12345

+0

Извините, если я не понял. Быстрый проект, о котором я упоминаю, является самодельным, но с кодом стартера. Так что это в основном приветственный мир. Это работает на рабочем столе после установки libgl1-mesa-dev. Но у него проблемы с андроидом с ошибкой, которую я связал в разделе редактирования. Примеры, которые я упоминаю, - это сборка в примерах в создателе Qt. Их имена - «сотовый» и «планета», оба из них находятся в первой строке списка, и оба из них не имеют того же файла, что и я. (../../3dparty/three.js) – Nandor

Смежные вопросы