首页 > 编程语言 >vscode编译c/c++找不到jni.h文件

vscode编译c/c++找不到jni.h文件

时间:2024-06-08 22:33:31浏览次数:19  
标签:JAVA jdk JDK vscode c++ Windows Linux jni include

解决办法:

一、下载JDK

  1. 访问Oracle官网的Java下载页面Java Downloads | Oracle

  2. 选择适合您操作系统的JDK版本

    • 对于Windows,选择“Windows x64”或“Windows x86”(取决于您的系统是64位还是32位)。
    • 对于Linux,选择适合您Linux发行版的压缩包。
    • 对于Mac,选择“.dmg”或“.pkg”安装包。
  3. 下载JDK安装包:点击所选版本的“Download”按钮。

  4. 安装JDK

    • 对于Windows,双击下载的.exe文件并按照安装向导的指示操作。
    • 对于Linux,解压下载的压缩包到适当的位置,并配置环境变量。
    • 对于Mac,双击下载的.dmg.pkg文件并按照安装程序的指示操作。
  5. 配置环境变量(仅限Windows和Linux):

    • 在Windows上,您需要设置JAVA_HOME环境变量为JDK的安装目录(例如,C:\Program Files\Java\jdk1.8.0_401),并将%JAVA_HOME%\bin%JAVA_HOME%\jre\bin添加到Path环境变量中。
    • 在Linux上,编辑~/.bashrc~/.bash_profile文件,添加类似于export JAVA_HOME=/usr/lib/jvm/java-8-oracle(路径可能因您的安装而异)的行,并将$JAVA_HOME/bin$JAVA_HOME/jre/bin添加到PATH变量中。
  6. 验证JDK安装

    • 打开命令提示符或终端,并输入java -versionjavac -version。两个命令都应该返回与您安装的JDK版本相对应的信息。

二、把jdk的安装目录下include下把以下相应的文件,复制到vc目录下的include文件夹下

\jdk\include\jni.h

\jdk\include\win32\jawt_md.h

\jdk\include\win32\jni_md.h

jdk安装目录下的三个文件,复制它们到vc目录下的include文件夹下。

三、修改CMakeLists.txt,引入头文件路径:

include_directories(${PROJECT_SOURCE_DIR}/include)

再编译就好了

标签:JAVA,jdk,JDK,vscode,c++,Windows,Linux,jni,include
From: https://blog.csdn.net/qq_30531921/article/details/139407215

相关文章

  • 【C++/STL】list(常见接口、模拟实现、反向迭代器)
     ......
  • C++ OpenCV 图像分类魔法:探索神奇的模型与代码
    ⭐️我叫忆_恒心,一名喜欢书写博客的研究生......
  • C++20协程接口说明
    等待体的接口说明: boolawait_ready()表达了等待体对象是否准备就绪,返回false表示没有准备好,返回true表示准备好了,这个返回值决定了等待体的执行流程。 boolawait_suspend(Coro::coroutine_handle<Task::promise_type>)当await_ready返回fasle时,进入此函数执行,如果await_r......
  • 柔性数组+总结C/C++中程序内存区域划分
    柔性数组一.柔性数组1.柔性数组的定义2.柔性数组的特点3.柔性数组的使用4.柔性数组的优势二.总结C/C++中程序内存区域划分前言:也许你从来没有听说过柔性数组这个概念,但是它确实是存在的。一.柔性数组1.柔性数组的定义C99中,结构体中的最后一个元素允许是未知大小的......
  • C++特点,对象的概念,初始化和赋值
    C++是面向对象的变成语言,C++的特点是封装,继承,多态,同时也是面向对象语言的特点。在C++中的对象指一块能存储数据并具有某种类型的内存空间,例如当我们写一句inta时,int是C++的基本类型,a就是一个对象,如果将inta写成的inta=10;那么这句语句的含义是创建了一个int类型的对象,并给......
  • CCF-GESP 等级考试 2023年9月认证C++四级真题解析
    一、单选题(每题2分,共30分)第1题⼈们所使⽤的⼿机上安装的App通常指的是()。A.⼀款操作系统B.⼀款应⽤软件C.⼀种通话设备D.以上都不对正确答案:B.⼀款应⽤软件解析:App是"Application"的缩写,中文意思是"应用",特指安装在智能手机上的第三方应用软件。这些软件通常......
  • C++--移动构造函数/移动赋值运算符
    C++--移动构造函数/移动赋值运算符什么是移动语义?在C++11中,移动语义是一个重要的新特性,它可以使程序在内存管理方面更加高效,同时也提高了程序的性能它允许将一个对象的所有权从一个对象转移到另一个对象,而不需要进行数据的拷贝。通俗理解我有一份材料,A同学找我借,那我把材料......
  • C++ -- noexcept关键字
    C++--noexcept关键字noexcept关键字作用:告诉编译器,函数中不会发生异常,有利于编译器对程序做出更多的优化,比如避免生成处理异常的额外代码,减少程序的大小例子声明了noexcept和没有声明的同一段代码:safeDivide当除数为0时,会直接调用std::terminate()来中止程序而不是throw......
  • C++ 6.8笔记:①判断质数②二分基础算法
    质数试除法判定质数boolprimes(intx){  if(x<2)returnfalse;  for(inti=2;i<=x/i;i++){    if(x%i==0)returnfalse;  }  returntrue;}埃筛1intp[N],k,n;boolf[N];voidprimes(intn){//埃筛,思想:质数的倍数是合数for(inti......
  • vsCode开发实战之 C语言动态文件通讯录项目
    引言本项目所用开发环境为vsCode+CMake,至于为何如此选择,我就不赘述了,希望这篇博客能对您的学习有帮助!看完记得点赞收藏哦!!!一.项目结构项目根目录下结构如图:二.CMake配置CMake文件配置如图:三.头文件contact.h四.主函数文件main.c五.接口函数文件contact.c ......