2
comrade@hp:~/workspace/JNI2/src$ ls
Prompt.c  Prompt.class  Prompt.h  Prompt.java

comrade@hp:~/workspace/JNI2/src$ gcc --shared -o libPrompt.so -I/usr/lib/jvm/java-6-openjdk-i386/include -I/usr/lib/jvm/java-6-openjdk-i386/include/linux -lX11 Prompt.c /usr/lib/jvm/java-6-openjdk-i386/jre/lib/i386/server/libjvm.so
Prompt.c:2:20: fatal error: Prompt.h: No such file or directory
compilation terminated.


Prompt.c :  
#include <jni.h>
#include <Prompt.h>
........

我不明白什么?

4

1 回答 1

2

如评论,更改为:

#include "Prompt.h"

来自#include 指令

#include <文件>
    此变体用于系统头文件。
    它在目录列表中搜索名为 file 的文件
    由您指定,然后在系统目录的标准列表中。
    您指定目录以搜索头文件
    命令选项“-I”(参见 1.9 节调用 C 预处理器)。
    选项 `-nostdinc' 禁止搜索标准系统
    目录;在这种情况下,仅搜索您指定的目录。

#include "文件"
    此变体用于您自己程序的头文件。
    它首先在当前目录中搜索一个名为 file 的文件,
    然后在用于系统头文件的相同目录中。
    当前目录是当前输入文件的目录。
    首先尝试它,因为它被假定为
    当前输入文件引用的文件。
    (如果使用了 `-I-' 选项,则特殊处理
     当前目录被禁止。)
于 2012-06-17T12:57:34.913 回答