2016-04-11 8 views
-2

私はLinux(x64)マシンにインストールされているnetbeansを使用しています。私はライブラリとしてCコードを使用するJavaコードを書いています。定義されていないシンボルを取得する:netbeansのjniのキー

私は正しいO/Pを取得していますCのコードを実行しますが、私はJavaコードを実行したときに、私は以下のようなエラーを取得していたとき、私はヘッダファイル内でexternとして変数を宣言したCコードで

Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/pacewisdom-h34/NetBeansProjects/NetbeansJava/desJavaLib/dist/DesJavaLib.so: /home/pacewisdom-h34/NetBeansProjects/NetbeansJava/desJavaLib/dist/DesJavaLib.so: undefined symbol: key 
    at java.lang.ClassLoader$NativeLibrary.load(Native Method) 
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938) 
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1821) 
    at java.lang.Runtime.load0(Runtime.java:809) 
    at java.lang.System.load(System.java:1086) 
    at desjava.DesJava.<clinit>(DesJava.java:10) 
/home/pacewisdom-h34/.cache/netbeans/8.1/executor-snippets/run.xml:53: Java returned: 1 
BUILD FAILED (total time: 0 seconds) 

keyヘッダーファイルのexternとして宣言されていますが、それは与えるエラーです。 30%の類似の質問については、Stack Overflow自体のソリューションを見ました。彼らは、Cコードで変数をインターンとして再定義することに言及しました。しかし、それは走り続けないでください。

答えて

0

keyextern

として定義されているいいえ、それはexternとしてを宣言し、どこでもを定義されていないです。それが必要です。

+0

Uは、それがCコードで定義されるべきであることを意味します。 –

関連する問題