Linux应用程序 - 最小化依赖性

时间:2010-02-05 17:52:58

标签: linux dependencies shared-libraries mysql++

我正在尝试最小化共享库mysql ++导致的依赖性。我知道这听起来很奇怪;但我正在努力解决Slamd64的平台限制(安装了32位兼容性),它本身没有某些库。由于依赖于其他应用程序,我无法改变libmysqlclient的设置。

使mysql ++库静态链接到它的依赖关系的说明,这就是我想要做的。不要试图将我的应用程序静态链接到mysql ++;我仍然想动态链接到mysql ++。

1 个答案:

答案 0 :(得分:2)

这不是很容易。你需要

  1. 获取分发所需的.a库列表(不要在这里添加系统安装的库,如libc.a)
  2. 静态编译所有.a,但启用了-fPIC
  3. 将所有.a链接到一个.so
  4. 检查,你能把这个.so并加载到应用程序
  5. 使用ENV LD_LIBRARY_PATH和LD_PRELOAD可以有一个解决方法。它们可以帮助您屏蔽系统范围的库并将应用程序指向您的库。只需google获取此变量。