2010-03-25 13 views
12

Estoy recibiendo el siguiente error cuando se ejecuta un archivo ejecutable que he creado en una máquina de 64 bits utilizando el código de C++:ha producido un error durante la inicialización de VM

"Se produjo un error durante la inicialización de VM No se puede cargar la biblioteca nativa: No se pueden encontrar bibliotecas dependientes "

Mi PATH (que se muestra a continuación) obviamente apunta a jvm.dll ya que tengo ese archivo en C: \ Progra ~ 1 \ Java \ jdk1.6.0_17 \ jre \ bin y C: \ Windows \ System32

RUTA = C: \ Archivos de programa (x86) \ Gmake \ bin; C: \ Archivos de programa (x86) \ apache-ant-1.7.1 \ bin; C: \ Progra ~ 1 \ Java \ jdk1.6.0_17 \ bin; C : \ Archivos de programa (x86) \ Microsoft Visual Studio 8 \ Common7 \ Tools; C: \ Progra ~ 1 \ Java \ jdk1.6.0_17 \ jre \ bin \ server; C: \ Progra ~ 1 \ Java \ jdk1.6.0_17 \ jre \ bin; C: \ Windows \ System32

¿Alguien tiene alguna idea de lo que podría causar este error? Gracias.

Respuesta

5

Usa dependency walker para descubrir qué dll falta.

+0

Gracias por la respuesta. Esta es una gran herramienta. Al ejecutar el generador de perfiles, aparece un error: LoadLibraryA ("C: \ bin \ verify.dll") devuelto NULL por el hilo 1.Error: No se pudo encontrar el módulo especificado (126) Dice que lo está llamando c: \ windows \ system32 \ JVM.DLL Dos preguntas que quizás pueda ayudar a resolver: 1) ¿Por qué está llamando? el sistema32 JVM en lugar de uno en mi PATH? 2) ¿Por qué trataría de buscar en C: \ bin para cualquier dll? Gracias de nuevo. – Brittany

+3

Java tiene una desagradable tendencia a instalar binarios en Windows \ System32. probablemente estés ejecutando esos en lugar de uno más adelante en tu camino. si tiene la intención de agregar manualmente java a la ruta simplemente elimine java y javaw de windows \ system32. sobre la ubicación dll, no tengo idea. –

2

Esta es la forma en que resolvió un problema similar:

4

Tengo el mismo problema cuando ejecuto el java.exe en mi versión de Windows2008 R2.

mi camino era

PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32 
\WindowsPowerShell\v1.0\;C:\Program Files\System Center Operations Manager 2007\ 
;C:\Java\jdk1.6.0_33\bin 

cuando corro el java.exe en C: \ Java \ jdk1.6.0_33 \ bin, que funciona bien. Encontré que dentro de c: \ Windows \ System32 \ viene con una copia de java.exe. Cuando ejecuto el directorio C: \ Windows \ System32 \ java.exe, muestra el mismo error:

C:\>Windows\System32\java.exe 
Error occurred during initialization of VM 
Unable to load native library: Can't find dependent libraries 

He arreglado este problema moviendo el directorio C: \ Java \ jdk1.6.0_33 \ bin al principio de el entorno PATH:

PATH=C:\Java\jdk1.6.0_33\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\ 
Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\System Center 
Operations Manager 2007\ 

Hope this help.

+0

super, gracias, eso también me ayuda – sergionni

1

Recibí este error porque mi RUTA (variable de entorno) no se ha configurado correctamente.

  1. al establecer la variable PATH, establecer la ruta de jvm.dll como una primera ruta en la lista
  2. reiniciar su máquina.

Nota: No mueva jvm.dll al directorio de su proyecto.

0

En mi caso, había un archivo jvm.dll en la misma carpeta que mi archivo exe. Simplemente borré el jvm.dll de allí y funcionó. Probablemente, precedió al de la RUTA

Cuestiones relacionadas