idea&vs2019生成動態鏈接庫dll

  1. idea設置jni生成工具
    1. program:$JDKPath$/bin/javah
    2. arguments:-jni -classpath $OutputPath$ -d $FileDir$ $FileClass$
    3. working directory:$ProjectFileDir$
  2. 編寫native方法,並生成.h文件
  3. vs2017 新建dll項目,把idea生成的.h文件拖入vs2017,實現其方法
  4. 生成解決方案,得到dll文件
  5. 在idea中使用System.load("E:\\dll\\ExportJNI.dll");加載
  6. 可能遇到的問題
    1. 找不到jni.h:右鍵項目屬性,把jni.h加入
    2. 無法打開預編譯頭文件:“Debug\****.pch”: No such file or directory 的解決辦法:項目->屬性->C/C++ ->預編譯頭->不使用預編譯頭

  7. linux下編譯:

    1. g++ 源文件.c/源文件.cpp -fPIC -shared -I/jdkPath/include -I/jdkPath/include/linux -lm -o 庫文件名.so

    2. g++ dllMain.cpp -fPIC -shared -I/usr/local/java/jdk1.8.0_171/include -I/usr/local/java/jdk1.8.0_171/include/linux -lm -o libHello.so

    3. 不需要加.h文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章