我正在努力使用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',我可以手动更改这些路径,但似乎我做错了。
如果有人能指出我正确的方向,我将不胜感激!
答案 0 :(得分:0)
将tut.cpp移动到cmdline的末尾,然后就完成了。
答案 1 :(得分:0)
我认为首先你应该首先尝试使用宏__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
例如。