2014-02-19 3 views
4

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

10:41:51: Running steps for project qmlqtsensors... 
10:41:51: Configuration unchanged, skipping qmake step. 
10:41:51: Starting: "C:\Qt\Qt5.2.1\Tools\mingw48_32\bin\mingw32-make.exe" 
mingw32-make: Nothing to be done for 'first'. 
10:41:52: The process "C:\Qt\Qt5.2.1\Tools\mingw48_32\bin\mingw32-make.exe" exited normally. 
10:41:52: Removing directory C:\Qt\Qt5.2.1\5.2.1\android_x86\examples\sensors\build-qmlqtsensors-Android_for_armeabi_v7a_GCC_4_8_Qt_5_2_1-Release\android-build 
10:41:52: Starting: "C:\Qt\Qt5.2.1\Tools\mingw48_32\bin\mingw32-make.exe" INSTALL_ROOT="C:\Qt\Qt5.2.1\5.2.1\android_x86\examples\sensors\build-qmlqtsensors-Android_for_armeabi_v7a_GCC_4_8_Qt_5_2_1-Release\android-build" install 
copy /y "libqmlqtsensors.so" "C:\Qt\Qt5.2.1\5.2.1\android_x86\examples\sensors\build-qmlqtsensors-Android_for_armeabi_v7a_GCC_4_8_Qt_5_2_1-Release\android-build\libs\armeabi-v7a\libqmlqtsensors.so" 
     1 file(s) copied. 
The full path of C:C:\Qt\Qt5.2.1\5.2.1\android_x86\examples\sensors\build-qmlqtsensors-Android_for_armeabi_v7a_GCC_4_8_Qt_5_2_1-Release\android-build\Qt\Qt5.2.1\5.2.1\android_armv7\examples\qtsensors\qmlqtsensors is too long. 
makefile:873: recipe for target 'install_app' failed 
mingw32-make: *** [install_app] Error 1 
10:41:53: The process "C:\Qt\Qt5.2.1\Tools\mingw48_32\bin\mingw32-make.exe" exited with code 2. 
Error while building/deploying project qmlqtsensors (kit: Android for armeabi-v7a (GCC 4.8, Qt 5.2.1)) 
When executing step 'Copy application data' 
10:41:53: Elapsed time: 00:02. 

Я просмотрел Google безрезультатно. Может ли кто-нибудь помочь мне с этой проблемой, пожалуйста?

ответ

0

Похоже, что ошибка или хотя бы одна из них связана с тем, что путь к файлу qmlqtsensors слишком длинный.

The full path of C:C:\Qt\Qt5.2.1\5.2.1\android_x86\examples\sensors\build-qmlqtsensors-Android_for_armeabi_v7a_GCC_4_8_Qt_5_2_1-Release\android-build\Qt\Qt5.2.1\5.2.1\android_armv7\examples\qtsensors\qmlqtsensors is too long. 

Попробуйте скомпилировать и запустить проект в другом месте с более коротким путем.

+0

Я попробовал ваше предложение, и это ошибка, которую я получаю сейчас: -1: ошибка: нет правила, чтобы сделать цель ».. \ .. \ .. \ .. \ .. \ .. \ .. \ .. \ .. \ .. \ .. \ .. \ .. \ .. \ Android_Bundle \ андроид-NDK-R9c \ Sources \ CXX-СТЛ \ гну-libstdC++ \ 4.8 \ ЛИЭС \ armeabi-v7a \ Include \ бит \ с ++ config.h ', необходимый для' main.obj '. Стоп. – TheMan68

0

Я получаю сообщение об ошибке на этом примере (и некоторое время назад у него было такое же в предыдущих примерах).

Моя проблема оказалась в том, что при создании файла Makefile он генерирует «неправильный» код. Он генерирует такие вещи, как: mkdir C: $ (INSTALL_ROOT)/........

Это нормально, если $ (INSTALL_ROOT) оценивает относительный путь, но на самом деле он разрешил абсолютный путь, который это: mkdir C: C:/Qt/.......

Так просто отредактировал Makefile, заменив все вхождения «C: $ (INSTALL_ROOT)» на «$ (INSTALL_ROOT)». Это сработало для меня и, надеюсь, вы тоже.