2012-12-18 15 views
5

SVN'den LLVM ve Clang'ı indirdim, oluşturdum ve küçük bir örnek program yazdım. Ancak, LLVM üstbilgilerinin (llvm/support/type_traits.h) var olmayan başka bir LLVM üstbilgisi, llvm/support/DataTypes.h içerdiği görülüyor. LLVM web sitesindeki belgeleri kontrol ettim ve bunların da olması gerektiğini düşünmüyorlar.LLVM, mevcut olmayan bir üstbilgiye başvuruyor

Bu sorunu nasıl düzeltebilirim?

+1

Görünüşe göre: 'find/opt/clang -name DataTypes.h'' '/ opt/clang/3.3/include/llvm/Support/DataTypes.h'. Geçen hafta ubuntu'da yaptım (bir kaç aksaklık ama sonunda başarılı oldu). İlginçtir ki, svn'den aldığım kaynaklarda değil, derleme dizininde var, bu yüzden bir şey onu yaratmalı. – hmjd

+1

Dosya sürümünün içinden yorum yap: 'Yapılandırılınca DataTypes.h.in yapılandırıldı ' – hmjd

+1

Onaylayabilir:'/* include/llvm/Support/DataTypes.h. Yapılandırılarak DataTypes.h.in'den oluşturuldu. */'. –

cevap

2

Bazı dosyalar derleme dizinine otomatik olarak oluşturulur. Programlarınızı LLVM'yi kitaplık olarak kullanacak şekilde derlerken, bağlantı için doğru başlık dizinlerini ve kitaplık dizinlerini sağlamak için her zaman llvm-config aracını kullanın.

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

Ve derleyici komut satırında kullanmak: Ben benim Makefile içinde bu var. LLVM_BUILD_PATH

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

Eğer configure ran yolu olduğunu ve yerleşik hangi sürümü (Ben genellikle hata ayıklama + LLVM içine hack için bir tane İddiası kullanın) gerisi bağlıdır.

+0

Başlıkların yarısının oluşturulduğundan ve ekleme dizinine doğru yerleştirilmediğinden bahsetmemeleri çok yararsızdır. – Puppy

+0

@DeadMG: deneyimli bir programcı olarak görünüyorsunuz, bu yüzden ilk açık kaynaklı proje karşılaşmanız olmamalı. Dokümantasyonda neden şaşırdığımı merak ediyorum :-) –