![]() |
1
3
如果你在ubuntu上工作,做一个.deb( Debian软件包 )看来还不错。 Here 是一个让你开始的链接。
您的包将声明它依赖于其他一些包(通常包括
之后,您可以使用
不管怎样, 从未 将这些标准文件与 拥有 档案文件。依赖关系就是为了这个目的而存在的。 希望有帮助。 |
![]() |
2
1
真正的问题是,你试图安装一个二进制文件,它使用的是ubuntu 9.10上提供的较新版本的os公共库。最好的选择应该是为旧的Ubuntu7.10设置一个特定的目标,并用旧的库(即一个backport)编译它。 然后你应该制作两个(或更多)deb包,一个用于ubuntu 9.10,一个用于ubuntu 7.10。 另一种可能是继续执行您现在正在执行的操作:将ld_library_path设置为指向所需版本的libstdc++和其他必要的库。您只需在启动程序shell脚本中设置此环境变量。在脚本中,检查新库是否可用,并仅在需要时设置lb_library_路径(例如/usr/local/lib/myprogram/)。但正如其他海报所指出的:这是一个非常糟糕的做法。无论如何,不要试图将这些提供的库放在Ubuntu9.10的标准位置,如果有一天这些库被正式移植,你将冒着破坏目标系统并给用户或你的程序带来更新问题的风险。 但是,如果选择包含自己的一组系统库,还有另一种方法要做:静态链接这些库。如果程序是库的唯一用户,就像在上面的场景中一样,您将失去使用共享动态库的所有优势,那么为什么还要费心使用它呢?而对于静态链接的库,您不必安装它们。 |
![]() |
CaTx · 使用带有一个大于号和两个大于号的回波的区别 2 年前 |
![]() |
Ari157 · x86_64 Linux程序集中的逻辑与实现 2 年前 |
![]() |
Ty Q. · 分段故障GLFW3/GLAD 2 年前 |
![]() |
ShortArrow · 如何使用git管理链接源文件? 2 年前 |
![]() |
Bastien L. · 多Linux Grafana集成 2 年前 |