美文网首页
visual studio编写jni踩坑

visual studio编写jni踩坑

作者: 吉凶以情迁 | 来源:发表于2018-10-20 15:44 被阅读0次

    这个东西说简单也简单,但是一不小心就如坑,以至于导致我多次踩坑都没成功,今天总算成功了!
    1、新建项目要使用空项目,否则有搞不完的坑等着你。
    2、添加java环境目录下的lib和lib\x86目录到工程的属性->配置属性->VC++目录->包含目录。
    3、配置属性生成格式为dll,而不是exe,
    4、配置输出的为x64而不是x86(你修改你会发现又要重新配置)
    5、头文件不用拖拽进去而是先放到项目目录然后添加引用,不然你会发现怎么搞都没法添加头文件,哭晕在厕所。
    c代码

    #include<jni.h>
    #include<stdio.h>
    #include<iostream>
    #include<string.h>
    //#include<>
    int main() {
        //cout<<"333"<<endl
        return 0;
    }
    extern "C"
    JNIEXPORT jstring JNICALL
    Java_cn_qssq666_autojni_MainActivity_stringFromJNI(
        JNIEnv *env,
        jobject /* this */) {
        std::string hello = "Hello from C++";
        return env->NewStringUTF(hello.c_str());
    }
    
    

    java代码

    package cn.qssq666.autojni;
    
    public class MainActivity {
    // 进入bin根目录 javah -jni cn.qssq666.autojni.MainActivity
        // Java_cn_qssq666_autojni_MainActivity_stringFromJNI(
        static {
            System.load("C:\\Users\\Administrator.DESKTOP-Q7DQAHS\\source\\repos\\ProjectNewDll\\x64\\Debug\\ProjectNewDll.dll");
        }
    
        public static native String stringFromJNI();
    
        public static void main(String[] args) {
            System.out.println("exec " + stringFromJNI());
        }
    }
    
    
    image.png

    无法成功的,想要下载项目vs源码打个赏,然后我发给你git地址。

    相关文章

      网友评论

          本文标题:visual studio编写jni踩坑

          本文链接:https://www.haomeiwen.com/subject/tylmzftx.html