【发布时间】:2015-01-23 03:25:33
【问题描述】:
我遇到了这个致命错误
杰尼h:没有这样的文件或目录 编译终止。我输入的命令是
root@kali:/home/work#g++ -l/usr/lib/jvm/java-6-openjdk-i386/include -l/usr/lib/jvm/java-6-openjdk-i386/include/linux -o libhello.so Hello.c【问题讨论】:
-
-l选项(如小写l)和-I(如大写i)选项做不同的事情。-l(小写l)为链接器添加库搜索路径,-I(大写“i”)为预处理器添加搜索路径以查找头文件。 -
看在上帝的份上,请不要以root身份编译。
-
@bash0r,只是好奇,为什么不作为 root 编译?
-
@SaurabhMeshram 你能控制编译器输出不会覆盖一些非常重要的系统文件吗?你不能,根可以做任何事情。在最坏的情况下,您的系统将无法启动,或者 - 更糟糕的是 - 会破坏一些非常重要的数据,因为编译器输出已经覆盖了一些文件。让一个单独的用户编译源代码并在编译后进入 root shell 进行 make install 为您的系统提供了良好的保护屏障。
标签: java c java-native-interface