2016-01-25 84 views
0

我需要從我的sbt項目中調用一些c函數。我已經使用SWIG並創建了一個.so文件以及.class文件。添加一個帶類文件的.so庫到sbt scala項目

我將所有內容都包裝在一個jar文件中,並將其放在lib /文件夾中,但它一直說沒有找到值。

如何使用從swig生成的.so庫以及sbt項目中的.classes文件?

圖書館的名稱是libsample.so

我可以成功上傳SBT庫與System.LoadLibrary("sample"),但我不能叫sample.entry()(未找到值的樣本...)

+1

的可能的複製[如何聲明對本機.so庫的測試依賴?](http://stackoverflow.com/questions/24385458/how-to-declare-dependency-on-native-so-library-for - 測試) – marcospereira

+0

你能詳細說明錯誤嗎?你說你不能「調用sample.entry()」。這是Scala的編譯器錯誤還是運行時錯誤?前者表明你的(非本地).class文件不在類路徑上。 –

+0

我SBT運行時出現錯誤,則該命令是「SBT運行主......」。我沒有將.class文件放在jar文件中,並將其放在/ lib文件夾中。但是.scala文件看不到它。我被告知,我們放在sbt項目的/ lib文件夾中的所有內容都會自動放在classpath中。但它不適用於我的情況 – user2719072

回答

0

你可以使用像一個DependencyWalker,並確保您不會對他們缺少任何依賴框?

+0

這是我面臨的問題。我正在使用sbt scala,並且我可以成功加載.so庫。但它只是發生,這.so庫取決於我也加入到了/ lib文件夾中的一些其他的.class文件。但是現有的scala文件似乎沒有看到那些外部的.class文件 – user2719072

相關問題