Building Android JuceDemo with NDK,Cygwin,Eclipse failed


#1

directory:   E:\Project\EclipseKepler\Android\JUCE\extras\JuceDemo\Builds\Android

my ndk: android-ndk-r9

my cygwin:  GNU Make 3.82.90 , gcc  版本 4.8.1 (GCC)

my sdk:  Android 4.2.2

my jdk:  jdk-7u25

eclipse settings,my NDK_Builder:

     location: D:\Development\cygwin64\bin\bash.exe

     working directory: D:\Development\cygwin64\bin

    arguments: --login -c "cd /cygdrive/e/Project/EclipseKepler/Android/JUCE/extras/JuceDemo/Builds/Android/ && $NDK/ndk-build"

 

"JUCE/extras/JuceDemo/Builds/Android/" is the original directory structure,I changed nothing. And I  imported it directly use eclipse Import.

 

Below are the fails info,but I really found the header file. The first .cpp file failed

Compile++ arm    : juce_jni <= ApplicationStartup.cpp 
In file included from jni/../../../Source/../JuceLibraryCode/modules/juce_audio_processors/../../../../../modules/juce_audio_processors/../juce_gui_basics/../juce_graphics/colour/juce_ColourGradient.h:29:0,
                 from jni/../../../Source/../JuceLibraryCode/modules/juce_audio_processors/../../../../../modules/juce_audio_processors/../juce_gui_basics/../juce_graphics/juce_graphics.h:70,
                 from jni/../../../Source/../JuceLibraryCode/modules/juce_audio_processors/../../../../../modules/juce_audio_processors/../juce_gui_basics/juce_gui_basics.h:28,
                 from jni/../../../Source/../JuceLibraryCode/modules/juce_audio_processors/../../../../../modules/juce_audio_processors/juce_audio_processors.h:28,
                 from jni/../../../Source/../JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h:4,
                 from jni/../../../Source/../JuceLibraryCode/JuceHeader.h:20,
                 from jni/../../../Source/jucedemo_headers.h:29,
                 from jni/../../../Source/ApplicationStartup.cpp:25:
jni/../../../Source/../JuceLibraryCode/modules/juce_audio_processors/../../../../../modules/juce_audio_processors/../juce_gui_basics/../juce_graphics/colour/../geometry/juce_Point.h:28:34: fatal error: juce_AffineTransform.h: No such file or directory
compilation terminated.
make: *** [obj/local/armeabi/objs/juce_jni/__/__/__/Source/ApplicationStartup.o] Error 1
/cygdrive/d/Development/android-ndk-r9/build/core/build-binary.mk:348: recipe for target `obj/local/armeabi/objs/juce_jni/__/__/__/Source/ApplicationStartup.o' failed
 

 


#2

Looks like the good old MinGW "directory name too long" problem. Amazing that in 2013 they actually still use fixed-length strings to hold filenames... <sigh>

I think other people may have discussed this and suggested workarounds. My suggestion would be to use a real unix OS for android, because the tools really aren't designed for Windows.


#3

 

cygwin is a trap. i get nothing but grief from it nowadays. Once it worked, but it's been poisoned.


#4

Thank u for ur advice,jules. I have done the job on ubuntu-13.04 at home and all is beautiful. 


#5

Yes ,cygwin is a trap. I had a try on ubuntu,it's OK.