2011-05-31 56 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。