"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi mon projet JNI ne peut-il pas trouver de bibliothèques dépendantes?

Pourquoi mon projet JNI ne peut-il pas trouver de bibliothèques dépendantes?

Publié le 2025-02-26
Parcourir:365

Why Can't My JNI Project Find Dependent Libraries?

Addressant unsaviedLinkerror: Impossible de trouver des bibliothèques dépendantes dans les projets JNI

Lors du développement de projets natifs Java (jni), vous pouvez rencontrer le Erreur: "java.lang.unsatisfiedLinkerror: c: ... chemin ... \ mylib.dll: Can't Trouvez des bibliothèques dépendantes. " Cette erreur indique que la machine virtuelle Java (JVM) ne peut pas localiser les bibliothèques partagées (DLLS) requises par votre bibliothèque JNI.

adressant le problème

pour résoudre le problème , considérez les solutions suivantes:

  1. Assurez-vous que le chemin de la bibliothèque approprié: vérifie que Les bibliothèques dépendantes (par exemple, libsndfile-1.dll) sont dans le même répertoire que la bibliothèque principale (mylib.dll) ou dans un répertoire répertorié dans la variable d'environnement Windows Path. Le JVM s'appuie sur ce chemin de bibliothèque pour localiser les dépendances requises.
  2. fixer la méthode Nom Mangling: revérifie que les noms de méthode de la bibliothèque JNI correspondent exactement à ceux de l'en-tête JNI correspondant déposer. Les compilateurs Visual Studio peuvent gabiller les noms de méthode, alors assurez-vous de spécifier les indicateurs de linker appropriés pour générer des noms cohérents.
  3. Spécifier explicitement le chemin de la bibliothèque: Si les méthodes précédentes échouent, vous pouvez explicitement définir le java .Library.Path Propriété système au répertoire contenant les bibliothèques dépendantes. Cela remplace le chemin de recherche de la bibliothèque par défaut.

Dans Visual Studio 2010 sur macOS, la plate-forme cible doit être définie sur Windows, comme vous testez sur Windows XP. Si le développement est effectué sur Windows, définissez la plate-forme cible en conséquence.

Conseils supplémentaires

Pour une référence supplémentaire, consultez "le livre JNI" ou la version Oracle HTML de la Spécification JNI. Vous pouvez également utiliser la commande "java -xshowsettings: Properties -Version" pour identifier le chemin de recherche de la bibliothèque partagée.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3