неразрешенный символ из libCrunG3.so.1 при загрузке библиотеки из Java на Solaris - PullRequest
0 голосов
/ 08 января 2019

У меня есть небольшой пример, когда библиотека c ++, созданная с -std = c ++ 11, дает неразрешенный символ при загрузке из Java-программы. Версия cc и CC - это /opt/developerstudio12.6 Версия Java - 1.8.0_151

.

Любая помощь будет принята с благодарностью.

hello.c

int example(void)
{
return 99;
}

test.java

class test {
    public static void main(String[] args) {          
    }

    static {
        System.loadLibrary("hello");
    }
}

% / opt / developerstudio12.6 / bin / cc -m64 -xarch = sparc -O -xcheck =% none -xcode = pic32 -c hello.c

% / opt / developerstudio12.6 / bin / CC -std = c ++ 11 -m64 -xarch = sparc -G hello.o -o libhello.so

% javac test.java

% javah -jni test

% setenv LD_LIBRARY_PATH.

% тест на Java

Исключение в потоке "main" java.lang.UnsatisfiedLinkError: libhello.so: ld.so.1: java: fatal: ошибка перемещения: файл /usr/lib/64/libCrunG3.so.1: символ _ZTVSt13bad_exception: ссылка символ не найден at java.lang.ClassLoader $ NativeLibrary.load (собственный метод) в java.lang.ClassLoader.loadLibrary0 (ClassLoader.java:1941) в java.lang.ClassLoader.loadLibrary (ClassLoader.java:1857) at java.lang.Runtime.loadLibrary0 (Runtime.java:870) в java.lang.System.loadLibrary (System.java:1122) в тесте. (test.java:9)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...