Avatar billede steenk Nybegynder
13. november 2002 - 17:48 Der er 6 kommentarer og
1 løsning

#include - hvor ledes der ?? (problemer med java: native .h fil)

Når man include'r med <filnavn> hvor leder C++ linkeren så ? og kan man selv redigere/opsætte paths ? (jeg har problemer med java native metoder. javah.exe danner en .h fil som #include'r <jni.h> som compiler'en/linkeren ikke kan finde!)
Avatar billede disky Nybegynder
13. november 2002 - 18:25 #1
skriv
#include "jni.h"

Når du bruger <> kigger den efter en include der fulgte med compilere

med "" leder den der hvor dine filer er.

Det skulle løse dit problem (håber jeg)
Avatar billede arne_v Ekspert
13. november 2002 - 19:02 #2
Du kan selv fortælle kompileren hvor den skal
lede efter dine .h filer.

Med en GUI compiler sætter du det under
compile options.

Med en command line compiler sætter du det
som switch til compileren.

(-I på Unix og Cygwin/Mingw, /I på mere native Windows)
Avatar billede steenk Nybegynder
13. november 2002 - 19:15 #3
/* DO NOT EDIT THIS FILE - it is machine generated */
#include "jni.h"

/* Header for class TestNative */

#ifndef _Included_TestNative
#define _Included_TestNative
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class:    TestNative
* Method:    displayHelloWorld
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_TestNative_displayHelloWorld
  (JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif


//HelloWorld.cpp


#include "jni.h"
#include "TestNative.h"
#include <stdio.h>

JNIEXPORT void JNICALL
Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj)
{
    printf("Hello world!\n");
    return;
}
Avatar billede steenk Nybegynder
13. november 2002 - 19:17 #4
Tak for svarene - desværre gav ingen af forslagene umiddelbar pote. Herover er source code for begge filer. Flere inputs er meget velkomne.
Avatar billede arne_v Ekspert
13. november 2002 - 19:31 #5
Meget mystisk.

Jeg kan nemlig godt compile din kode på Windows 2000,
JDK 1.3.1, Mingw et eller andet:

gcc -c TestNative.c -I\SUNJava\jdk1.3.1\include -I\SUNJava\jdk1.3.1\include\win32

g++ -c TestNative.cpp -I\SUNJava\jdk1.3.1\include -I\SUNJava\jdk1.3.1\include\win32
Avatar billede arne_v Ekspert
13. november 2002 - 19:32 #6
(ja - jeg kaldte altså file TestNative ikke HelloWorld)
Avatar billede steenk Nybegynder
13. november 2002 - 21:11 #7
Tak for svarene, mit oprindelige spørgsmål er besvaret - og et nyt opstået ;-)
Vender nok tilbage...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester