如何定位Debian稳定但在测试中发展?

for*_*idt 1 linux debian chroot cross-compiling binary-compatibility

我们有一些专门开发的C++应用程序,仅适用于Debian stable(x86).

目前,这些应用程序的开发也是使用Debian stable(x86)系统完成的,因此开发人员拥有与目标系统相同的库版本.
偶尔,我还需要处理这些组件,并且一直困扰我,因为我坚持使用非常过时的KDevelop版本(4.0.1与最新的4.4.1).我想使用更新的系统进行开发(比如最新的Ubuntu或Debian测试),但是如何创建适合目标系统的二进制文件呢?
是否有一些简单的方法可以告诉编译器/链接器只使用目标平台上可用的库版本?
我看了Emdebian和他们的交叉编译包,但我不认为这对我有用.他们似乎只有针对ARM等其他架构的软件包.

ume*_*shi 5

我建议使用schroot.

$ sudo apt-get install schroot debootstrap

$ sudo debootstrap squeeze /opt/squeeze
Run Code Online (Sandbox Code Playgroud)

然后在/etc/schroot/schroot.conf中添加和输入如下:

[squeeze]
type=directory
description=Debian squeeze
directory=/opt/squeeze
users=myusername
root-users=myusername
Run Code Online (Sandbox Code Playgroud)

之后,您就可以在chroot中安装软件包了:

$ schroot -c squeeze -u root
(squeeze)# aptitude
Run Code Online (Sandbox Code Playgroud)

安装所需的所有软件包后,可以以普通用户身份输入chroot(只要在schroot.conf文件中列出):

$ schroot -c squeeze
Run Code Online (Sandbox Code Playgroud)

schroot程序对于在较旧的桌面上运行较新的X11应用程序也很有用,您只需要传递环境:

$ schroot -c squeeze -p
Run Code Online (Sandbox Code Playgroud)