如何使用Eclipse CDT构建chroot?

4
我有一个chroot环境,里面包含了构建复杂C++项目所需的所有内容,使用make(用于特定的Linux发行版)。
我想在此项目中使用Eclipse CDT(在chroot环境之外),但是希望使Eclipse在构建时进入chroot环境并在其中进行构建。
这是否可能?
2个回答

4
是的,这是可能的。只需在C/C++ Build下的“构建设置”选项卡中选择“外部构建器”。我选择了一个脚本,执行以下命令:
sudo chroot $HOME/mychroot/  bash -c 'cd /myproject-location/; make clean; make'

为了避免密码检查,我在/etc/sudoers文件中添加了以下行:
%sudo   ALL= NOPASSWD: /usr/sbin/chroot

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

4
一种更加优雅的方式是创建一个名为compile.sh的脚本。
#!/bin/bash
sudo chroot $HOME/mychroot bash -c 'cd /workspace/'$1'/; make '$2

在Eclipse中,您需要编写以下内容以使用外部构建器:

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

/pathto/compile.sh ${ProjName}

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接