2011-01-12 8 views
12

私はcmakeのでプロジェクトをコンパイルしようとしたが、私は次のエラーを得た:cmakeのコンパイルエラー

[email protected]:~/oooark$ cmake . 
CMake Error at CMakeLists.txt:19 (message): 
    In-source builds are not allowed. 

たとえば実行:

rm CMakeCache.txt 
mkdir build 
cd build 
cmake .. 
make 
-- Configuring incomplete, errors occurred! 

誰も私を助けることができますか?

+0

'make'がインストールされていますか? 'make'と' gcc'が正しくインストールされているか確認してください。 – Sen

+0

19行目にCMakeLists.txtを表示できますか? – tibur

+0

だから、なぜあなたはエラーメッセージを読んで、それが何を言っているのですか? – user562374

答えて

21

ヘルプメッセージには、CMakeCache.txtファイルを削除し、buildというサブディレクトリを作成し、そのディレクトリに移動してそこからcmakeを再実行します。

rm CMakeCache.txt 
mkdir build 
cd build 
cmake .. 
make 

これは、「cmake」を実行したためです。ソースツリーの上部にあります。ソースディレクトリでcmakeを実行しないようにする理由は、ソースツリーがビルドアーチファクトを全部吐き出してしまうのを防ぐためです。

+0

いい答えだ。もっと説明していただけますか?これらの "ビルド成果物"とは何ですか?だからディレクトリ構造は、その中にビルド、lib、binフォルダを持つ必要がありますか?私たちは空のビルドフォルダにcmakeをビルドしますか?生成されたビルドファイルはビルドフォルダに書き込まれます。これらは出力ファイルです。 –

1

以前のビルドでは、CMakeCache.txtとディレクトリCMakeFilesが作成されています。 は、このファイルを削除し、そのディレクトリ:

llvm_srcはLLVMは解凍した場合、またはビルドディレクトリのMakefileを生成する必要があります

$ cd <llvm_src> 
$ cd <llvm_src> 
$ rm -rf CMakeCace.txt CMakeFiles 
$ mkdir build 
$ cd build 
$ cmake -G "Unix Makefiles" <llvm_src> 

をダウンロードし、あなたのルートディレクトリです。

$ cmake -DCMAKE_INSTALL_PREFIX:PATH=<path_to_install_directory> . && make all install