2010-01-21 57 views
4

我有一個使用automake和autoconf的C++項目。我對這兩個都很陌生。如何設置autotools爲多個系統同時構建獨立體系結構的項目?

我的主目錄是網絡掛載 - 我們每臺服務器都是一樣的 - 我想在不同的機器上同時編譯和運行項目(及其可執行文件)。

我們的服務器通常是不同的體系結構。我的桌面是32位的,但服務器是64位的,等

我在configure.acMakefile.am使用哪些選項來編譯命名爲計算機體系結構不同的目錄中的目標文件?在普通的Makefile中這樣做相對簡單,但我不知道如何設置autotools。

回答

9

如果你沒有做任何「錯誤」或不尋常的在你的configure.ac和Makefile.am設置,這是自動支持:

mkdir /some/where/build 
cd /some/where/build 
/else/where/source/configure --options... 
make 
make install 

基本上,你在任何地方創建build目錄你想(在你的情況下可能在非網絡安裝),並從那裏調用配置。然後,這將在您創建的構建目錄中構建代碼。

+4

有關詳細信息,請參閱Automake手冊的「VPATH構建」部分。 http://sources.redhat.com/automake/automake.html#VPATH-Builds – adl 2010-01-21 12:41:46

+0

我有一個包含我的'.cpp'和'.h'文件的'src'目錄。當我在父目錄中運行'./configure'時,二進制文件最終在'src'目錄中。也許這就是你提到的那種「錯誤」的配置? – 2010-01-21 17:32:16

+1

不,您需要爲您的構建創建一個完全獨立的目錄,然後從那裏運行配置。 – 2010-01-21 20:17:05