Bev*_*vor 1 compiling dynamic-linking package-management
如果我想编译一个需要分发包管理器未提供的包的应用程序,并且我想从中生成一个分发包,使用此分发包的用户是否需要安装所有这些额外的库,或者将这些库打包到二进制文件中? 我知道它可能取决于应用程序到应用程序,但我如何识别包是否需要动态链接库?
该ldd命令将判断您的二进制文件是否正在使用共享库。对于不属于分发包的那些,您可以将包的用户指向下载它们的位置,或者将库捆绑在您的包中,这对于用户来说当然是更简单的方法,假设图书馆许可证允许您这样做。
如果捆绑它们,请确保您构建的二进制文件会在编译时使用 LD_RUN_PATH 找到这些库,这比依赖 LD_LIBRARY_PATH 修复损坏的可执行文件更好。
有关详细信息,请参阅http://www.eyrie.org/~eagle/notes/rpath.html。
| 归档时间: |
|
| 查看次数: |
143 次 |
| 最近记录: |