Linux (x64) makinesinde yüklü netbeans kullanıyorum. C kodu kütüphane olarak kullandığı bir java kodu yazdım.undefined sembolü alma: netbeans'de jni anahtarında
ben doğru o/p alıyorum C kod çalıştırmasına ama java kodu çalıştırdığınızda ben aşağıdaki gibi hata alıyorum ne zaman başlık dosyasına extern olarak değişken bildirdikten C kodunda:
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
başlık dosyasında bir extern olarak bildirilmiştir, ancak onun verilme hatası. Yığın Taşması'nda% 30 benzer sorular için çözüm gördüm. Değişkenini C kodunda stajyer olarak yeniden tanımlamaktan bahsettiler. Ama durmadan koşmaya devam ediyor.
U, c kodunda tanımlanmalıdır. –