【发布时间】:2015-06-22 14:22:52
【问题描述】:
我有一个共享库需要加载到我的 java 应用程序中。
我的共享库“libabc.so”代码使用 API 的 另一个共享库“libxyz.so”
虽然我通过头文件向我的库提供这些 API 的声明,
当我用
构建我的共享库“libabc.so”时g++ -shared -Wall -pthread -lrt
java 应用程序无法加载库。 而如果我用 g++ -shared -Wall -pthread -lrt -lxyz ,加载成功。
在这两个选项中,生成的库都没有报告任何错误。 但是对于第二个选项,无论我在哪里构建我的库,我都应该在环境中使用 libxyz.so。 有什么选择吗?我在这里错过了什么吗?
【问题讨论】:
-
所以我打算在这里构建 libabc.so,它可以在我的 java 应用程序中加载,而无需 g++ 的 -lxyz 选项。如果可能的话。
标签: c++ c g++ shared-libraries