probleme mit ant task bei java jni

Wegen diesen 2 Zeilen im Makefile:

Code:
all: compile

	$(CC) -shared -Wl,--add-stdcall-alias $(LIBS) -o $(DLL)$(JAVACV)$(EXT) $(OBJECTS) $(LINKLIBS)

	

compile:

	$(CC) $(INCLUDES) $(COMPILERARGS) -o opencvext.o $(SRC)opencvext.cpp
 
Joa der compiliert doch nur die cpp mit den implementierten JNI Methoden in ein o File und erstellt dann daraus eine dll im Ordner dll.
 
cpp ist die Dateiendung für C++ Dateien, c für C-Dateien. Prinzipiell aber nichts anderes.

Wenn du in c implementiert hast mußt du natürlich im Makefile bei cc gcc statt g++ eintragen.
 
Größten Dank dir zeja. Hab jetzt echt tagelang gesucht.
Es geht, sogar nur als build.xml.



HTML:
<target name="javah">
<javah classpath="bin" outputFile="getFaces.h" verbose="yes">
	<class name="data.impl.Test" />
</javah>
</target>
<target name="cc" depends="c2">
<exec dir="C:/MinGW/bin/" executable="C:/MinGW/bin/mingw32-gcc">
	<arg value="-shared" />
	<arg value="-Wl,--add-stdcall-alias" />
	<arg value="-L" />
	<arg value="C:\Programme\OpenCV\lib" />
	<arg value="-L" />
	<arg value="C:\MinGW\bin" />
	<arg value="-o" />
	<arg value="${basedir}/getFaces.dll" />
	<arg value="${basedir}/getFaces.o" />
	<arg value="-l" />
	<arg value="cv" />
	<arg value="-l" />
	<arg value="highgui" />
</exec>
</target>
<target name="c2" depends="javah">
<exec dir="C:/MinGW/bin/" executable="C:/MinGW/bin/mingw32-gcc">
	<arg value="-I" />
	<arg value="C:/Programme/Java/jdk1.6.0_04/include" />
	<arg value="-I" />
	<arg value="C:/Programme/Java/jdk1.6.0_04/include/win32" />
	<arg value="-I" />
	<arg value="C:/Programme/OpenCV/cv/include" />
	<arg value="-I" />
	<arg value="C:/Programme/OpenCV/cxcore/include" />
	<arg value="-I" />
	<arg value="C:/Programme/OpenCV/otherlibs/highgui" />
	<arg value="-I" />
	<arg value="C:/Programme/OpenCV/otherlibs/cvcam/include" />
	<arg value="-I" />
	<arg value="C:/Programme/OpenCV/cvaux/include" />
	<arg value="-O3" />
	<arg value="-Wall" />
	<arg value="-c" />
	<arg value="-fmessage-length=0" />
	<arg value="-o" />
	<arg value="${basedir}/getFaces.o" />
	<arg value="${basedir}/getFaces.c" />
</exec>
</target>
 
Zurück