2012-12-18 26 views
5

Tôi đã tải xuống LLVM và Clang từ SVN, xây dựng chúng và viết một chương trình mẫu nhỏ. Tuy nhiên, các tiêu đề LLVM (llvm/support/type_traits.h) xuất hiện để bao gồm một tiêu đề LLVM khác, llvm/support/DataTypes.h, không tồn tại. Tôi đã kiểm tra các tài liệu trên trang web LLVM và họ dường như không nghĩ rằng nó nên tồn tại.LLVM tham chiếu tiêu đề không tồn tại

Làm cách nào để khắc phục sự cố này?

+1

Tôi dường như có nó: 'find/opt/clang -name DataTypes.h' được tạo ra'/opt/clang/3.3/include/llvm/Support/DataTypes.h'. Tôi đã làm điều này tuần trước trên ubuntu (một vài trục trặc nhưng cuối cùng đã thành công). Thật thú vị, nó không phải là trong các nguồn tôi nhận được từ svn nhưng là trong thư mục xây dựng nên một cái gì đó phải tạo ra nó. – hmjd

+1

Nhận xét từ bên trong phiên bản tệp của tôi: 'Được tạo từ DataTypes.h.in theo cấu hình' – hmjd

+1

Có thể xác nhận:'/* include/llvm/Support/DataTypes.h. Được tạo từ DataTypes.h.in bằng cách định cấu hình. */'. –

Trả lời

2

Một số tệp được tự động tạo vào thư mục xây dựng. Khi biên soạn các chương trình của bạn để sử dụng LLVM như một thư viện, luôn sử dụng công cụ llvm-config để cung cấp cho bạn các thư mục tiêu đề và thư mục thư mục phù hợp để liên kết. Tôi có điều này trong số Makefile:

LLVM_CONFIG_COMMAND = `$(LLVM_BIN_PATH)/llvm-config --cxxflags --libs` \ 
         `$(LLVM_BIN_PATH)/llvm-config --ldflags` 

Và tôi sử dụng nó trên trình biên dịch dòng lệnh.

LLVM_BIN_PATH = $(LLVM_BUILD_PATH)/Debug+Asserts/bin 

đâu LLVM_BUILD_PATH là con đường mà bạn đã chạy configure, và phần còn lại của nó phụ thuộc vào phiên bản bạn đã xây dựng (Tôi thường sử dụng Debug + Khẳng định một cho hack bên LLVM).

+0

Nó rất vô ích mà họ không đề cập đến một nửa các tiêu đề được xây dựng và không được đặt vào thư mục bao gồm chính xác. – Puppy

+0

@DeadMG: bạn có vẻ là một lập trình viên có kinh nghiệm, vì vậy nó không phải là cuộc gặp gỡ đầu tiên của dự án nguồn mở của bạn. Tôi tự hỏi tại sao bạn ngạc nhiên trước tài liệu :-) –

Các vấn đề liên quan