如何使用.so文件linux打包所有必需的库

时间:2018-08-04 04:30:14

标签: java c++ linux object shared

我正在尝试移植一个使用c ++组合编写的应用程序(后端),而java组合编写的应用程序。此应用程序依赖于已过期的库opencv 2.4.13,以及多个其他库。我担心的是,我不希望最终用户需要安装这些依赖程序,因为事实证明,将它们安装在除少数几个Linux发行版以外的任何其他版本上都具有挑战性。我相信我正在寻找的术语是静态链接,但是目前我还不太熟悉c ++编译,因此我不确定使这些文件可移植所需采取的步骤。 Java应用程序要求将这些文件作为库,尽管我设法使它们在一台计算机上编译,但问题似乎是让它们在编译后在另一文件上运行。

1 个答案:

答案 0 :(得分:0)

不要打扰-这可能还会给您带来许可问题,具体取决于您需要的库。

相反,只需弄清楚应用程序应在哪些平台上运行,并使用jar将每个平台的库打包-或在启动时下载它们,或将它们作为单独的软件包提供。您选择的确切机制取决于您的用例,关键是您不需要依赖系统范围的安装。