Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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
Visual c++ Visual C+;中缺少哪些Windows库+;可再发行包?_Visual C++_Java Native Interface_Redistributable - Fatal编程技术网

Visual c++ Visual C+;中缺少哪些Windows库+;可再发行包?

Visual c++ Visual C+;中缺少哪些Windows库+;可再发行包?,visual-c++,java-native-interface,redistributable,Visual C++,Java Native Interface,Redistributable,我正在使用JNI与我使用MSVC++2012编写的CAN驱动程序进行接口。一切都可以编译并运行良好,但只在我的电脑上。每当我尝试在任何其他计算机上运行时,我都会遇到JNI“UnsatisfiedLinkError”-找不到依赖库。我之前已经实现了JNI,通常这个问题通过在运行我的程序之前简单安装微软Visual C++可重新分配包来解决。可再发行版本并不能解决我的问题,但是,在相关计算机上安装整个MSVC++Express 2012 IDE似乎可以让一切正常工作。因此,我假设这意味着在安装IDE

我正在使用JNI与我使用MSVC++2012编写的CAN驱动程序进行接口。一切都可以编译并运行良好,但只在我的电脑上。每当我尝试在任何其他计算机上运行时,我都会遇到JNI“UnsatisfiedLinkError”-找不到依赖库。我之前已经实现了JNI,通常这个问题通过在运行我的程序之前简单安装微软Visual C++可重新分配包来解决。可再发行版本并不能解决我的问题,但是,在相关计算机上安装整个MSVC++Express 2012 IDE似乎可以让一切正常工作。因此,我假设这意味着在安装IDE时会安装某些依赖项并将其添加到PATH中,但在安装可再发行文件时不会。为了验证,我卸载了IDE,我的JNI驱动程序再次加载失败。这与我的其他JNI实现之间的主要区别在于我使用Windows.h,因为它是我在驱动程序中使用的CAN API所必需的。关于IDE中安装的任何库(但不包括可再发行库)以及Windows.h中包含的原型有什么想法?(注意:我知道Windows.h本身包含许多标题,但我认为其他标准会使问题更加具体。)

首先猜测:您正在安装发布版本的调试版本。调试版本依赖于CRT的调试版本,不能重新分发

检查你使用的是“微软Visual C++可再分发包”。有2012年、2012年更新1和2012年更新2(以及2010年、2008年等的许多更新)

假设依赖项是加载时DLL,则可以使用查找缺少的内容。(注意:您通常会看到一些延迟加载DLL“丢失”。忽略这些DLL;请参阅常见问题解答。)

当然,一旦找到丢失的DLL的名称和路径,就必须找到redist包安装它的内容