看着孩子一天天长大,知识一天天丰富,仿佛农名看见自己的庄家日渐成熟,父亲的心里是充满幸福、喜悦的。
Windows系统采用vs2010工具创建项目
一:新建项目
选择模板,点击下一步
填写项目名称和解决方案名称,vs2010使用解决方案管理项目,一个解决方案可以包含多个项目。
二:项目中导入头文件
按顺序导入,第一项是Java生成的头文件,里面包含了jni接口,如果没有则不导入,导入其它两项即可。
添加完头文件后,还需要添加包含头文件目录,否则会找不到头文件,include xxx.h 时 有下画红线。
选择项目,点击右键选择属性—》找到c/c++ 常规设置—》添加附加包含目录
三:新建源文件
选择源文件—》点击右键,选择添加—》选择新建项
四:生成动态链接库文件
1.Windows系统
选择项目—》生成—》生成解决方案
底部有生成日志
在相应的路径下查看生成的文件
2.Linux系统
第一步:上传文件
源文件(cpp)上传至Linux服务器的相关文件夹中
第二步:生成so文件
命令:g++ -fPIC -shared /opt/jni/classloader.cpp -o/opt/jni/ClassLoader.so -I/opt/jdk/jdk1.8.0_231/include/ -I/opt/jdk/jdk1.8.0_231/include/linux -I/opt/jni
g++: 编译c++文件 注:源文件后缀为(c)则采用C语言编译器(gcc),后缀为(cpp)则采用c++语言编译器(g++)
-fPIC -shared:编译成动态库
/opt/jni/classloader.cpp: 源文件 注:前面不要带 -c
-o /opt/jni/ClassLoader.so:-o 生成的so文件以及文件路径
-I/opt/jdk/jdk1.8.0_231/include/ -I/opt/jdk/jdk1.8.0_231/include/linux -I/opt/jni
-I(import)导入jni头文件,-I/opt/jni 是自己生成的头文件
第三步:复制so文件到项目目录
cp -v /opt/jni/ClassLoader.so /opt/eip/test/eip/WEB-INF/dll1 //前面一个路径为原文件路径,后一个为目标路径