/ usr / bin / ld: невозможно найти -ljvm: во время компиляции проекта jni - PullRequest
0 голосов
/ 31 марта 2012

Я компилирую проект jni. Ниже приведена подробная информация о проблеме, с которой я столкнулся:напрямую создайте файл conf, / etc / ld.so.conf.d / my.conf:

/usr/lib
/usr/local/lib

и затем я использую команду ldconfigно, к сожалению, я все еще сталкиваюсь с той же проблемой.Есть идеи? Thx

Ответы [ 2 ]

2 голосов
/ 31 марта 2012

Эта команда:

gcc -g -Wall `pkg-config --cflags fuse` -Iinclude \
  -I/usr/java/jdk1.6.0_31/include \
  -I/usr/java/jdk1.6.0_31/include/linux `pkg-config --libs fuse`  \
  -L/usr/java/packages/lib/i386 -L/lib -L/usr/lib -ljvm -Lbuild -ljavafuse \
  src/javafuse.c -o javafuse

неверна.Порядок библиотек и источников в строке ссылки имеет значение , а ваш порядок неправильный.

Но сейчас проблема не в этом.Вы настаиваете на том, что libjvm.so существует в /usr/lib, но не доказали, что это так.Что на самом деле печатает ls -l /usr/lib/libjvm.so

Обратите внимание, что было бы весьма необычно найти libjvm.so в /usr/lib.Обычно его можно найти, например, в /usr/java/packages/lib/i386/server, а вы не ищете в этом каталоге .

Обновление:

.libjvm.so на самом деле не в /usr/lib, а в /usr/java/jdk1.6.0_31/jre/lib/i386/server

В этом случае вам необходимо добавить -L/usr/java/jdk1.6.0_31/jre/lib/i386/server к вашей линии связи.

И я gedit файл конфигурации ...

Очевидно, этого недостаточно.

0 голосов
/ 16 декабря 2016

Ошибка приходит, потому что JAVA_HOME & LD_LIBRARY_PATH не согласован для Linux. Поэтому после анализа я обнаружил, что JAVA_HOME и LD_LIBRARY_PATH сбрасываются каждый раз, когда закрывается окно терминала. Поэтому установка JAVA_HOME навсегда устранила ошибку, например: JAVA_HOME = / USR / Java / последняя PATH = / USR / местные / SBIN: / USR / местные / бен: / USR / SBIN: / USR / бен: / корень / бен: / USR / Java / последний / бен: / бен: / SBIN: / USR / lib64 /qt-3.3/bin LD_LIBRARY_PATH = / USR / Java / jdk1.8.0_111 / JRE / Библиотека / amd64 / сервер: / USR / местные / Библиотека: / USR / lib64: / USR / Библиотека: / USR / местные / lib64:

...