4

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

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

是否可以?

4

2 回答 2

4

是的,这是可能的。只需在 C/C++ 构建下的构建器设置选项卡中选择“外部构建器”。我选择了一个执行以下命令的脚本:

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

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

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

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

于 2011-07-08T13:57:27.627 回答
4

稍微优雅一点的方法是制作一个脚本 compile.sh

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

并在 Eclipse 中将其写给您的外部构建器

/pathto/compile.sh ${ProjName}

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

于 2014-12-11T09:34:36.913 回答