如何使用Eclipse CDT构建chroot?

时间:2011-05-31 17:23:44

标签: eclipse-cdt chroot

我有一个chroot环境,其中包含构建复杂C ++项目所需的一切,使用make(用于特定的Linux发行版)。

我想在这个项目中使用Eclipse CDT(在chroot环境之外),但要使Eclipse在构建时进入chroot环境并在那里构建。

有可能吗?

2 个答案:

答案 0 :(得分:3)

是的,这是可能的。只需在C / C ++ Build下的Builder Settings选项卡中选择'External builder'即可。我选择了一个执行以下命令的脚本:

sudo chroot $HOME/mychroot/  bash -c 'cd /myproject-location/; make clean; make'

为避免密码检查,我将以下行添加到/ etc / sudoers文件中:

%sudo   ALL= NOPASSWD: /usr/sbin/chroot

为避免错误的构建失败/语法错误报告,您必须将chroot环境中的包含文件添加到eclipse cdt项目中。

答案 1 :(得分:3)

更优雅的方法是编写脚本compile.sh

#!/bin/bash
sudo chroot $HOME/mychroot bash -c 'cd /workspace/'$1'/; make '$2

并在eclipse中将此内容写入外部构建器

/pathto/compile.sh ${ProjName}

这使得部分构建成为可能,因为构建目标被传递到chroot。