Compiling VLC with Java Bindings fails
Posted: 17 Aug 2006 18:52
Hello,
it would appear the Java Bindings are *very* experimental
After finally getting rid of all the problems concerning displaced includes [1] and missing JNI-Headers [2], I'm stranded with the following error message:
The g++ call was trying to compile video-jni in vlc-0.8.6-svn/bindings/java/src
I'm using the SVN snapshot from 2006-08-16, so it should be quite recent. The compiler is (obviously) running in a cygwin environment. Configure flags were chosen according to the README with the exception of --enable-java-bindings. The remainder of vlc (up to the java bindings) was built without problems.
Could someone lend me a helping hand?
Now for the "links" from above: I have no clue how to supply a working patch for the problems, so please bear with me providing a description:
[1] The Makefile in java/src is missing one ../ to the include path ("-I ../../include" should be "-I ../../../include", I created a symlink)
[2] make should first compile the class files, then include the headers generated from them in the C-Code - it's a bug in the Makefile. Additionally the directory java/includes was missing - should be created as well. And finally:
* both, javah and gcj would not work unless I added "-classpath ."
* javah requires its options first: "($JHC) -o includes/(...) org(...)"
* javah wants the package separated by "." not "/" so it' should be "org.videolan.jvlc." instead of "org/videolan/jvlc/"
Regards
it would appear the Java Bindings are *very* experimental
After finally getting rid of all the problems concerning displaced includes [1] and missing JNI-Headers [2], I'm stranded with the following error message:
Code: Select all
video-jni.cc: In function `void Java_org_videolan_jvlc_Video__1reparent(JNIEnv*, _jobject*, _jobject*)':
video-jni.cc:185: error: invalid conversion from `HWND__*' to `libvlc_drawable_t'
video-jni.cc:185: error: initializing argument 2 of `int libvlc_video_reparent(libvlc_input_t*, libvlc_drawable_t, libvlc_exception_t*)'
Code: Select all
g++ -mno-cygwin video-jni.cc -Wsign-compare -Wsign-compare -Wall -mms-bitfields -pipe `top_builddir=../../.. ../../../vlc-config --cflags pic` -I../../ -I ../../include -I/cygdrive/c/Program\ Files/Java/jdk1.5.0_07/include -I/cygdrive/c/Program\ Files/Java/jdk1.5.0_07/include/win32 -c -o video-jni.o
Could someone lend me a helping hand?
Now for the "links" from above: I have no clue how to supply a working patch for the problems, so please bear with me providing a description:
[1] The Makefile in java/src is missing one ../ to the include path ("-I ../../include" should be "-I ../../../include", I created a symlink)
[2] make should first compile the class files, then include the headers generated from them in the C-Code - it's a bug in the Makefile. Additionally the directory java/includes was missing - should be created as well. And finally:
* both, javah and gcj would not work unless I added "-classpath ."
* javah requires its options first: "($JHC) -o includes/(...) org(...)"
* javah wants the package separated by "." not "/" so it' should be "org.videolan.jvlc." instead of "org/videolan/jvlc/"
Regards