Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Compiling Android-OpenCV library with Cygwin

I'm trying to follow this tutorial from Stanford University http://www.stanford.edu/class/ee368/Android/Tutorial-2-OpenCV-for-Android-Setup-Windows-API8.pdf

My environment variables are all set according to the tutorial and everything worked perfectly until step 3c):

c. Type the following in the Cygwin terminal to compile the OpenCV libraries:

make

This compilation can take a while, maybe 30 minutes or more.

Where I get the following output in my cygwin-terminal:

Isa@LESTER ~/opencv/android/build
$ make
[100%] Generating android-opencv
Compile thumb  : png <= /home/Isa/opencv/3rdparty/libpng/png.c
/home/Isa/android-ndk-r4-crystax/build/core/build-binary.mk:169: recipe for target        '/home/Isa/opencv/android/build/obj/local/armeabi/objs/png/png.o' failed
make[3]: *** [/home/Isa/opencv/android/build/obj/local/armeabi/objs/png/png.o] Error 127
make[3]: *** Warte auf noch nicht beendete Prozesse...
CMakeFiles/ndk.dir/build.make:55: recipe for target 'android-opencv' failed
make[2]: *** [android-opencv] Error 2
CMakeFiles/Makefile2:63: recipe for target 'CMakeFiles/ndk.dir/all' failed
make[1]: *** [CMakeFiles/ndk.dir/all] Error 2
Makefile:75: recipe for target 'all' failed
make: *** [all] Error 2

Has anyone else tried to do this tutorial? It seems pretty nice and I really really want to have it working. I'd appreciate any hint to solve this error. Let me know if you need more information to help me out.

Thanks in advance, Isa

like image 385
Isa Avatar asked Mar 01 '14 10:03

Isa


1 Answers

The error you got is quite similar to those here:

  • Cygwin - Makefile-error: recipe for target `main.o' failed
  • Cygwin: 'Clean and Build' broke project
  • cdt with cygwin g++ compile helloworld wrong

Have a double check in your environment, as doing the setup for OpenCV on Android can be a little trick sometimes, and as such it might be the source of your current problem.

If you really want to achieve good results developing Android, I would rather suggest you to do it on Linux Ubuntu.

In the case you still need to keep MSW in your machine, just do a dual boot as it will allow you to have your development host in a Linux platform.

Some years ago I had to implement a project using open source tools, but to do it on Windows XP, and I remember that using Cygwin was a big headache.

So, you will be better of running your development environment on Ubuntu.

like image 88
Avanz Avatar answered Sep 22 '22 08:09

Avanz