Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.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
在windows 2008上从JNI加载dll时出错 我们有一个java程序,它依赖于C++代码通过JNI。在java程序的类路径中,C++和Solaris的Solaris和DLL都有SO和DLL。 在windows上,我们还生成了java.exe.manifest,以强制windows使用MSVC RTL。这在solaris、windows 2003中运行良好,但在windows 2008中,我收到错误消息 “并排装配配置错误”_Java_C++_Java Native Interface - Fatal编程技术网

在windows 2008上从JNI加载dll时出错 我们有一个java程序,它依赖于C++代码通过JNI。在java程序的类路径中,C++和Solaris的Solaris和DLL都有SO和DLL。 在windows上,我们还生成了java.exe.manifest,以强制windows使用MSVC RTL。这在solaris、windows 2003中运行良好,但在windows 2008中,我收到错误消息 “并排装配配置错误”

在windows 2008上从JNI加载dll时出错 我们有一个java程序,它依赖于C++代码通过JNI。在java程序的类路径中,C++和Solaris的Solaris和DLL都有SO和DLL。 在windows上,我们还生成了java.exe.manifest,以强制windows使用MSVC RTL。这在solaris、windows 2003中运行良好,但在windows 2008中,我收到错误消息 “并排装配配置错误”,java,c++,java-native-interface,Java,C++,Java Native Interface,这是java.exe.manifest <?xml version='1.0' encoding='UTF-8' standalone='yes'?> <assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'> <dependency> <dependentAssembly> <assemblyIdentity type='win3

这是java.exe.manifest

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.762' processorArchitecture='amd64' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
</assembly>
有人能帮我解决这个问题吗。我试着安装MS VS 2005可再发行版,但没有用

提前谢谢
Niraj Rathi

尝试安装
MS VS 2005可再发行软件包的
x64
变体

MS VS 2005可再发行软件包有四种版本


您使用version='8.0.50727.762'编译的CRT版本以及您正在执行的系统没有此CRT版本。正如@panickal提到的,安装
MS VS 2005可再发行软件包应该可以解决这个问题。

我最终解决了这个问题。我重新安装操作系统,然后安装Visual C++ 2005重新分配(X64)都SP1。然后安装了64位Java。然后添加HKEY\U LOCAL\U MACHINE\COMPONENTS\PreferExternalManifest注册表并将其设置为1

那个问题解决之后

谢谢
Niraj Rathi

我已经安装了X64可再发行软件包,但仍然存在相同的错误。让我也试着安装X86可再发行软件包。从2005年到2008年,我几乎安装了VC++的所有可再发行软件。我检查了C:\Windows\WinSXS这个目录在Windows 2008机器上。amd64_microsoft.vc80.crt_1FC8B3B9A118E3B_8.0.50727.4053_无_88e046c92fae6f57@niraj清单文件中包含processorArchitecture=“amd64”和version=“8.0.50727.4053”的标记
=================
Begin Activation Context Generation.
Input Parameter:
    Flags = 0
    ProcessorArchitecture = AMD64
    CultureFallBacks = en-US;en
    ManifestPath = D:\JDA\TRO\bin\OptCoreBodies.dll
    AssemblyDirectory = D:\JDA\TRO\bin\
    Application Config File = 
-----------------
INFO: Parsing Manifest File D:\JDA\TRO\bin\OptCoreBodies.dll.
    INFO: Manifest Definition Identity is (null).
    INFO: Reference: Microsoft.VC80.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50608.0"
    INFO: Reference: Microsoft.VC80.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.4053"
INFO: Resolving reference Microsoft.VC80.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50608.0".
    INFO: Resolving reference for ProcessorArchitecture amd64.
        INFO: Resolving reference for culture Neutral.
            INFO: Applying Binding Policy.
                INFO: Find publisher policy at C:\Windows\WinSxS\manifests\amd64_policy.8.0.microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.3053_none_09c0f5a3facc9779.manifest
                INFO: Publisher Policy redirected assembly version.
                INFO: Post policy assembly identity is Microsoft.VC80.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.3053".
            INFO: Begin assembly probing.
                INFO: Attempt to probe manifest at C:\Windows\WinSxS\manifests\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.3053_none_88e044e32fae7230.manifest.
                INFO: Manifest found at C:\Windows\WinSxS\manifests\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.3053_none_88e044e32fae7230.manifest.
            INFO: End assembly probing.
INFO: Resolving reference Microsoft.VC80.CRT.mui,language="&#x2a;",processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.3053".
    INFO: Resolving reference for ProcessorArchitecture amd64.
        INFO: Resolving reference for culture en-US.
            INFO: Applying Binding Policy.
                INFO: No publisher policy found.
                INFO: No binding policy redirect found.
            INFO: Begin assembly probing.
                INFO: Did not find the assembly in WinSxS.
                INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_64\Microsoft.VC80.CRT.mui\8.0.50727.3053_en-US_1fc8b3b9a1e18e3b\Microsoft.VC80.CRT.mui.DLL.
                INFO: Did not find manifest for culture en-US.
            INFO: End assembly probing.
        INFO: Resolving reference for culture en.
            INFO: Applying Binding Policy.
                INFO: No publisher policy found.
                INFO: No binding policy redirect found.
            INFO: Begin assembly probing.
                INFO: Did not find the assembly in WinSxS.
                INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_64\Microsoft.VC80.CRT.mui\8.0.50727.3053_en_1fc8b3b9a1e18e3b\Microsoft.VC80.CRT.mui.DLL.
                INFO: Did not find manifest for culture en.
            INFO: End assembly probing.
INFO: Resolving reference Microsoft.VC80.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.4053".
    INFO: Resolving reference for ProcessorArchitecture amd64.
        INFO: Resolving reference for culture Neutral.
            INFO: Applying Binding Policy.
                INFO: No binding policy redirect found.
            INFO: Begin assembly probing.
                INFO: Did not find the assembly in WinSxS.
                INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_64\Microsoft.VC80.CRT\8.0.50727.4053__1fc8b3b9a1e18e3b\Microsoft.VC80.CRT.DLL.
                INFO: Attempt to probe manifest at D:\JDA\TRO\bin\Microsoft.VC80.CRT.DLL.
                INFO: Attempt to probe manifest at D:\JDA\TRO\bin\Microsoft.VC80.CRT.MANIFEST.
                INFO: Attempt to probe manifest at D:\JDA\TRO\bin\Microsoft.VC80.CRT\Microsoft.VC80.CRT.DLL.
                INFO: Attempt to probe manifest at D:\JDA\TRO\bin\Microsoft.VC80.CRT\Microsoft.VC80.CRT.MANIFEST.
                INFO: Did not find manifest for culture Neutral.
            INFO: End assembly probing.
    ERROR: Cannot resolve reference Microsoft.VC80.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.4053".
ERROR: Activation Context generation failed.
End Activation Context Generation.