2011-01-12 45 views
12

tôi đã cố gắng để biên dịch một dự án với cmake, nhưng tôi đã nhận được lỗi sau:cmake biên soạn lỗi

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

Ví dụ chạy:

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

bất cứ ai có thể giúp tôi?

+0

Bạn có chắc chắn 'make' đã được cài đặt không? Kiểm tra xem cả 'make' và' gcc' có được cài đặt đúng hay không .. – Sen

+0

Bạn có thể hiển thị cho chúng tôi CMakeLists.txt ở dòng 19 không? – tibur

+0

Vì vậy, tại sao bạn không đọc thông báo lỗi và làm những gì nó nói? – user562374

Trả lời

21

Làm như thông báo trợ giúp cho biết: xóa tệp CMakeCache.txt, tạo thư mục con được gọi là tạo, thay đổi thư mục đó, sau đó chạy lại cmake từ đó.

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

Điều này là do bạn đã chạy "cmake". ở trên cùng của cây nguồn. Lý do ngăn cản bạn chạy cmake trong thư mục nguồn là ngăn chặn cây nguồn nhận được các tạo phẩm xây dựng được tạo ra trên nó.

+0

Câu trả lời tốt. Bạn có thể giải thích thêm? Các "tạo phẩm xây dựng" này là gì? Vì vậy, cấu trúc thư mục nên có xây dựng, lib, thư mục bin bên trong nó? Và chúng tôi xây dựng cmake vào thư mục xây dựng trống? Các tệp xây dựng được tạo được viết trong thư mục xây dựng. Đây là những tập tin đầu ra. –

1

Bản dựng trước đã tạo CMakeCache.txt và một thư mục CMakeFiles. Xoá tệp này và và thư mục như:

llvm_src là thư mục gốc của bạn, nơi llvm là giải nén hoặc tải về

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

Điều đó sẽ tạo ra makefiles trong xây dựng thư mục.

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