Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 分发使用JNI的应用程序的最佳方式_C++_Windows_Visual Studio 2010_Java Native Interface_Installation - Fatal编程技术网

C++ 分发使用JNI的应用程序的最佳方式

C++ 分发使用JNI的应用程序的最佳方式,c++,windows,visual-studio-2010,java-native-interface,installation,C++,Windows,Visual Studio 2010,Java Native Interface,Installation,我目前正在开发一个Windows桌面应用程序,它使用JNI调用jar文件中的方法 我需要知道打包我的应用程序的最佳方法,以便它可以链接到jvm.dll。我不确定是否应该将JDK的bin目录中的所有二进制文件打包到我的安装文件中(不确定是否允许这样做) 问题是所有在线示例都直接链接到JDK安装路径中的jvm.dll。由于我的应用程序是一个商业应用程序,我不能依赖或要求每个用户都在我的应用程序旁边安装JDK,因为这太荒谬了 请澄清包装此类申请的最佳方法 jvm.dll也与普通java运行时(bin/

我目前正在开发一个Windows桌面应用程序,它使用JNI调用jar文件中的方法

我需要知道打包我的应用程序的最佳方法,以便它可以链接到jvm.dll。我不确定是否应该将JDK的bin目录中的所有二进制文件打包到我的安装文件中(不确定是否允许这样做)

问题是所有在线示例都直接链接到JDK安装路径中的jvm.dll。由于我的应用程序是一个商业应用程序,我不能依赖或要求每个用户都在我的应用程序旁边安装JDK,因为这太荒谬了

请澄清包装此类申请的最佳方法


jvm.dll也与普通java运行时(bin/client子目录)一起安装。通过检查一些注册表值,您可以找到它的路径,从那里加载它,并检查是否安装了正确的版本。如果已经链接了jvm.lib,那么需要将jvm.dll添加到延迟加载dll的列表中,以便在运行时加载它

有关详细信息,请参见我最近对另一个问题的回答: