如何使用Eclipse CDT构建到chroot?

问题描述

| 我有一个chroot环境,其中包含使用make构建复杂的C ++项目所需的一切(它用于特定的Linux发行版)。 我想在该项目中使用Eclipse CDT(在chroot环境之外),但要使Eclipse在构建时进入chroot环境并在其中构建。 可能吗?     

解决方法

        是的,那是可能的。只需在C / C ++ Build下的Builder设置标签中选择\'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
并在日食中将其写入外部构建器
/pathto/compile.sh ${ProjName}
这使得部分构建成为可能,因为构建目标已传递到chroot中。