libjvm
ile bağlantı gerektiren bir uygulama var (JDN'den JNI bağlamaları yapmak için gereken bir kitaplık). libjvm.dylib
konumunu -L
kullanarak anlattığımda, başarıyla derler ve bağlantılar.Bir dinamik kitaplığı (libjvm.dylib) Mac OS X'e bağlama (rpath issue)
dyld: Library not loaded: @rpath/libjvm.dylib
Referenced from: <my home directory>/./mybinary
Reason: image not found
Şimdiye kadar ben şöyle benim ikili belirten LD_LIBRARY_PATH çalıştırabilirsiniz öğrendim:
LD_LIBRARY_PATH=<path to libfolder installation> ./mybinary
Ama tabii ben bunu istemiyorum ben ikili çalıştırdığınızda Ancak olsun. Uygulamayı her başlattığımda tekrar tekrar vermem gerekirse, neden tam konumu belirtmeliyim ?!
Ayrıca, mac os x üzerindeki dinamik kitaplıkların, konumu söyleyen bir tür damga aldığını öğrendim. Ancak, rpath
'un ne olduğunu bilmiyorum (bana bir değişken gibi görünüyor, ancak bağlantı sırasında bunu nasıl ayarlayabilirim?).
Uygulama, haskell kullanılarak oluşturulmuştur, ancak ld
'u kullanarak nesne dosyalarını eşit olarak iyi bir şekilde bağlayabiliyorum. Ancak, bu rpath şeyine takılıyorum - belki de JDK kütüphaneleri için özel mi?
ghc --make Main.hs mycbinding.o -ljvm -L<javahome>/jre/lib/server -o mybinary