2012-02-07 50 views
5

Tôi đang cố gắng biên dịch ví dụ Hello trong thư mục lib/Transforms/Hello, cơ bản là Hello World của LLVM, nhưng tôi gặp lỗi sau khi tôi cố biên dịch nó bằng cách sử dụng tạo.Biên dịch các ví dụ về clang-llvm

../../../Makefile.common:61: ../../../Makefile.config: No such file or directory 
../../../Makefile.common:69: /Makefile.rules: No such file or directory 
make: *** No rule to make target `/Makefile.rules'. Stop. 

Bất kỳ ý tưởng nào là sự cố và cách khắc phục sự cố?

Trả lời

4

Nếu bạn xây dựng LLVM + Clang theo hướng dẫn, mẫu Hello đã được tạo. Truy cập lib/Transforms/Hellotrong thư mục xây dựng (nơi bạn chạy configure và sau đó make). Nên có một Debug+Asserts (hoặc bất kỳ cấu hình nào bạn đã biên dịch) ở đó. Và bạn cũng có thể chạy make từ đó một lần nữa.

Nói chung, bạn luôn luôn make từ thư mục xây dựng chứ không phải thư mục nguồn. Thư mục xây dựng có tất cả các Makefiles được thiết lập đúng cách.

+0

Vì vậy, điều này có nghĩa là mỗi lần bạn thay đổi mã, bạn cần gọi từ phía trên cùng của cây, điều này rõ ràng tiêu tốn một thời gian dài. Không phải là có anyway để rút ngắn thời gian xây dựng này? – MetallicPriest

+1

@MetallicPriest: nếu bạn chỉ thay đổi một hoặc hai tập tin, nó tiêu tốn rất ít thời gian để chạy 'make' từ phía trên cùng của cây. Đây là những gì 'make' là cho, và hầu hết các dự án lớn sử dụng nó. –

+0

Infact bây giờ tôi đã nhận nó biên dịch ngay cả bằng cách gọi thực hiện từ thư mục địa phương. – MetallicPriest