2011-03-06 28 views
5

dahil projeyle LLVM'ye bağlanmada sorun Flex, Bison ve LLVM ile derleyiciler yazma konusunda bir eğitici aracılığıyla çalışıyorum (http://gnuu.org/2009/09/18/writing-your- kendi-oyuncak-derleyici /) ve son ikili derlemeye çalışırken aşağıdaki "tanımsız başvuru" hatalar birçok başarısız: bildiğim kadarıyla olarakFlex ve Bison

g++ -o parser `llvm-config --libs core jit native --cxxflags --ldflags` *.cpp 
/tmp/ccl0CSyi.o: In function `NBinaryOperator::codeGen(CodeGenContext&)': 
codegen.cpp:(.text+0x2ce): undefined reference to  `llvm::BinaryOperator::Create(llvm::Instruction::BinaryOps, llvm::Value*, llvm::Value*,  llvm::Twine const&, llvm::BasicBlock*)' 
/tmp/ccl0CSyi.o: In function `NDouble::codeGen(CodeGenContext&)': 
codegen.cpp:(.text+0x3db): undefined reference to `llvm::getGlobalContext()' 
codegen.cpp:(.text+0x3e3): undefined reference to  `llvm::Type::getDoubleTy(llvm::LLVMContext&)' 
/tmp/ccl0CSyi.o: In function `NInteger::codeGen(CodeGenContext&)': 
... 
collect2: ld returned 1 exit status 
make: *** [parser] Error 1 

, ben gerekli tümünü içerir ve llvm- var config betiği doğru çalışıyor --- bu hataların nasıl çözüleceği konusunda herhangi bir fikri olan var mı?

cevap

13

Sen kullanabilir komut satırında

+1

Teşekkürler! Sen en iyisin. – Dylon

0

üzerinde kaynak dosyaları SONRA kitaplıkları koymak gerekir: Bu yardımcı olur

clang++ -g -O3 toy.cpp `llvm-config --cxxflags --ldflags --system-libs --libs core` -o toy 

Umut.

+0

Bunun nasıl çalıştığını biliyor musunuz? Bunu orijinal öğretici örnekle deneyebildiniz mi? – mjuarez