JNI Header im qmake ?

Verschiedenes zu Qt
Antworten
huckleberry
Beiträge: 115
Registriert: 2. Oktober 2010 17:07

JNI Header im qmake ?

Beitrag von huckleberry »

Hallo Leute,

ich verusche gerade eine HelloWorld.jar (und insbesonere dessen Methoden) von meiner Qt Applikation aus aufzurufen. Es hakt aber schon an den Headern.
als systemvariable habe ich JRE_HOME und JDK_HOME mit den Pfaden erstellt und diese auch in PATH eingebunden.

in mein *.pro file habe ich folgendes hinzugefügt:
JRE_HOME = ${JRE_HOME}
JDK_HOME = ${JDK_HOME}

#jni dort befindet sich die jvm.dll
LIBS += -L$$(JRE_HOME)\jre\bin\server
LIBS += -ljvm
#end-jni

#jni - im ersten include befindet sich der jni.h
INCLUDEPATH += $$JDK_HOME/include
INCLUDEPATH += $$JDK_HOME/include/win32
#end-jni
Die jni.h wird aber bei #include Direktiven im vorhandenen Code nicht erkannt?

Thnx im voraus und VG
Huck
huckleberry
Beiträge: 115
Registriert: 2. Oktober 2010 17:07

Re: JNI Header im qmake ?

Beitrag von huckleberry »

Ausgeschrieben mit
#JRE_HOME = ${JRE_HOME}
#JDK_HOME = ${JDK_HOME}

JRE_HOME = "C:/Program Files/Java/jre1.8.0_31"
JDK_HOME = "C:/Program Files/Java/jdk1.8.0_31"
geht es! Obwohl ich JRE_HOME und JDK_HOME in den Systemvariablen definiert habe. Was mache ich falsch?

Weiterhin
:-1: Fehler: cannot find -ljvm
jvm.dll befindet sich in "C:\Program Files\Java\jdk1.8.0_31\jre\bin\server"
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: JNI Header im qmake ?

Beitrag von Christian81 »

To obtain the contents of an environment value when qmakeis run, use the $$(...) operator:
$$() wird nur bei dem einen LIBS += - Aufruf benutzt, woanders ist es immer falsch. Ob beim qmake-Lauf die Umgebungsvariable richtig ist kann man einfach mittels message() - Ausgabe überprüfen:
DESTDIR = $$(PWD)
message(The project will be installed in $$DESTDIR)
Siehe http://qt-project.org/doc/qt-4.8/qmake- ... #variables
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten