【问题标题】:Clang / LLVM Header Include Issue (Ubuntu)Clang / LLVM 标头包含问题(Ubuntu)
【发布时间】:2011-08-15 14:42:26
【问题描述】:

我正在努力在 Ubuntu 上安装 LLVM 和 clang,并尝试从这里编译一些教程代码 - http://www.cs.bgu.ac.il/~mirskyil/CsWiki/Blogs/Post_Mirskyil_4c83cc1f85da2

我在使用 g++ 编译时遇到了一些问题,我认为这与我没有正确安装某些东西有关(我对这些东西相当陌生)。

当我尝试执行这个命令时 -

g++ tut.cpp -g -o tut.out \
`$LLVM/Debug+Asserts/bin/llvm-config --cxxflags` \
-I$LLVM/tools/clang/include/ \
-lclangFrontendTool -lclangFrontend -lclangDriver -lclangSerialization \
-lclangCodeGen -lclangParse -lclangSema -lclangChecker -lclangAnalysis \
-lclangIndex -lclangRewrite -lclangAST -lclangLex -lclangBasic \
`$LLVM/Debug+Asserts/bin/llvm-config --ldflags --libs`

我收到以下错误 -

/home/rob/llvm/include/llvm/Support/DataTypes.h:45:3: error: #error "Must #define      __STDC_LIMIT_MACROS before #including System/DataTypes.h"

/home/rob/llvm/include/llvm/Support/DataTypes.h:49:3: error: #error "Must #define __STDC_CONSTANT_MACROS before " "#including System/DataTypes.h"

In file included from /llvm/tools/clang/include/clang/AST/Decl.h:17:0,
                 from /llvm/tools/clang/include/clang/AST/ASTContext.h:23,
                 from tut.cpp:3:
/llvm/tools/clang/include/clang/AST/APValue.h:18:29: fatal error: llvm/ADT/APSInt.h: No such file or directory
compilation terminated.

我假设关于 __STDC_LIMIT_MACROS 的第一个错误是我没有在命令行中定义某些内容,但另一个错误与文件包含有关。似乎代码正在尝试查看不存在的“llvm/APT/APSInt.h”,我可以手动更改这些路径以使其正常工作,但似乎我做错了什么。

如果有人能指出我正确的方向,将不胜感激!

【问题讨论】:

    标签: ubuntu llvm clang ubuntu-11.04


    【解决方案1】:

    将 tut.cpp 移动到 cmdline 的末尾就完成了。

    【讨论】:

      【解决方案2】:

      我认为首先你应该先尝试用宏 __STDC_LIMIT_MACROS 解决问题, 当我遇到这种类型的错误时,那是因为我忘记了这一点:

      llvm-config --cxxflags
      

      您应该尝试查看此命令是否返回预期的结果:

      -I/usr/include  -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -O3 -fomit-frame-pointer -fvisibility-inlines-hidden -fno-exceptions -fPIC -Woverloaded-virtual -Wcast-qual
      

      例如。

      【讨论】:

        猜你喜欢
        • 2012-04-20
        • 1970-01-01
        • 2013-08-31
        • 2011-09-29
        • 1970-01-01
        • 2020-11-30
        • 2014-09-03
        • 2011-12-07
        • 1970-01-01
        相关资源
        最近更新 更多