2011-05-31 58 views
4

我有一个chroot环境,使用make(这是为特定的Linux发行版)构建一个复杂的C++项目所需的一切。如何使用Eclipse CDT构建chroot?

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

可能吗?

回答

3

是的,这是可能的。只需在C/C++ Build下的Builder Settings Tab中选择'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项目中。

3

稍微更优雅的方式是让一个脚本compile.sh

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

,并在eclipse写这个给你外部建设者

/pathto/compile.sh ${ProjName} 

这使得部分建立可能的,因为构建目标被传入chroot。