共享库、库依赖
是否可以提供一个共享库——在创建过程中链接到另一个共享库——对最终用户透明?
作为我的意思的一个例子:
共享库构建
g++ ... `pkg-config gtk+-2.0 --cflags` ... `pkg-config gtk+-2.0 --libs`
所需的用户构建
g++ file.cc -lfoo
其中libfoo.so.0
是共享库。
我似乎只能在用户构建包含 pkg-config gtk+-2.0 ... 的情况下才能使其工作。有没有办法在创建共享对象期间让最终用户不必担心 libfoo
中使用的间接库?
Is it possible to provide a shared library - which links against another shared library during its creation - transparent to the end user?
As an example of what I mean:
Shared Library Build
g++ ... `pkg-config gtk+-2.0 --cflags` ... `pkg-config gtk+-2.0 --libs`
Desired User Build
g++ file.cc -lfoo
Where libfoo.so.0
is the shared library.
I can only seem to get this to work if the user build includes the pkg-config gtk+-2.0 ...
. Is there a way, during the creation of the shared object, to allow the end user to not have to worry about the indirect libraries used within libfoo
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您有一个链接到
libXYZ.so
的共享库libABC.so
,那么,创建
libABC.so
时,您必须链接libXYZ.so
在编译应用程序时,
不要忘记导出库路径
If you have a shared library
libABC.so
which links tolibXYZ.so
then,while creating your
libABC.so
, you have to link withlibXYZ.so
While compiling the application,
don't forget to, export the library path