gpt4 book ai didi

g++ - 与包含 Flex 和 Bison 的项目链接 LLVM 时遇到问题

转载 作者:行者123 更新时间:2023-12-02 17:09:46 26 4
gpt4 key购买 nike

我一直在研究如何使用 Flex、Bison 和 LLVM 编写编译器的教程 (http://gnuu.org/2009/09/18/writing-your-own-toy-compiler/),并尝试编译最终的二进制文件失败,并出现许多以下“ undefined reference ”错误:

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

据我所知,我拥有所有必要的包含内容,并且 llvm-config 脚本工作正常 --- 有人知道如何解决这些错误吗?

最佳答案

您需要将库放在命令行上的源文件之后

关于g++ - 与包含 Flex 和 Bison 的项目链接 LLVM 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5207734/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com