2023-01-20 322
我正在使用jnaerator生成一个可以包含在项目中的单个JAR文件,我想支持每个操作系统的动态库,并在此jar中全部拱起.
到目前为止,在使用Jnaerator的情况下,我能够使用以下命令包括一个单个动态库:
java -jar jnaerator.jar test.dll test.h [...] -mode StandaloneJar
但是,此仅包装test.dll,而我有多个系统的动态库(test_win32.dll,test_win64.dll,libtest_mac.dylib,libtest_mac.dylib,libtest_linux_x86.so和libtest_linux_amd64.so),我都希望全部打包进入并由一个罐子支撑.
有什么方法可以使用一种JNAerator来执行此”多合一”方法,或者我必须为每个平台生成一个不同的JAR文件?
jnaerator具有-arch选项,只是为此而设计的,尽管目前对文档的模糊性很大.它:
java -jar jnaerator-0.12-shaded.jar \
-arch win32 win32/test.dll \
-arch win64 win64/test.dll \
-arch darwin_universal mac/libtest.dylib \
-arch linux_x86 linux_x86/libtest.so \
-arch linux_x64 linux_amd64/libtest.so \
test.h \
-mode StandaloneJar \
-jar test.jar
这将按照 bridj 的期望的格式捆绑库. code.google.com/p/bridj/wiki/librarieslookup”> wiki页面关于嵌入式二进制文件):
unzip -l test.jar给出:
...
0 04-09-15 22:45 lib/win32/test.dll
0 04-09-15 22:45 lib/win64/test.dll
0 04-09-15 22:45 lib/darwin_universal/libtest.dylib
0 04-09-15 22:45 lib/linux_x86/libtest.so
0 04-09-15 22:45 lib/linux_x64/libtest.so
目前,每个平台的库名称目前都完全lib<name>.(so|dylib)或<name>.dll,尽管可以很容易地修复如果你问.
(注意:我是Bridj&jnaerator的作者)
以上所述是小编给大家介绍的如何在一个标题下使用多个动态库?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/26098.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态