我有一个chroot环境,使用make(这是为特定的Linux发行版)构建一个复杂的C++项目所需的一切。如何使用Eclipse CDT构建chroot?
我想在这个项目中使用Eclipse CDT(在chroot环境之外),但是要使Eclipse在构建时进入chroot环境并在那里构建。
可能吗?
我有一个chroot环境,使用make(这是为特定的Linux发行版)构建一个复杂的C++项目所需的一切。如何使用Eclipse CDT构建chroot?
我想在这个项目中使用Eclipse CDT(在chroot环境之外),但是要使Eclipse在构建时进入chroot环境并在那里构建。
可能吗?
是的,这是可能的。只需在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项目中。
稍微更优雅的方式是让一个脚本compile.sh
#!/bin/bash
sudo chroot $HOME/mychroot bash -c 'cd /workspace/'$1'/; make '$2
,并在eclipse写这个给你外部建设者
/pathto/compile.sh ${ProjName}
这使得部分建立可能的,因为构建目标被传入chroot。