C++ 错误:‘;叮当作响’;不是命名空间名称
我从以下步骤中获得这些代码。但是当我C++ 错误:‘;叮当作响’;不是命名空间名称,c++,llvm,C++,Llvm,我从以下步骤中获得这些代码。但是当我make using namespace clang; int main() { CompilerInstance ci; ci.createDiagnostics(0,NULL); // create DiagnosticsEngine ci.createFileManager(); // create FileManager ci.createSourceManager(ci.getFileManager()); // c
make
using namespace clang;
int main()
{
CompilerInstance ci;
ci.createDiagnostics(0,NULL); // create DiagnosticsEngine
ci.createFileManager(); // create FileManager
ci.createSourceManager(ci.getFileManager()); // create SourceManager
ci.createPreprocessor(); // create Preprocessor
const FileEntry *pFile = ci.getFileManager().getFile("hello.c");
ci.getSourceManager().createMainFileID(pFile);
ci.getPreprocessor().EnterMainSourceFile();
ci.getDiagnosticClient().BeginSourceFile(ci.getLangOpts(), &ci.getPreprocessor());
Token tok;
do {
ci.getPreprocessor().Lex(tok);
if( ci.getDiagnostics().hasErrorOccurred())
break;
ci.getPreprocessor().DumpToken(tok);
std::cerr << std::endl;
} while ( tok.isNot(clang::tok::eof));
ci.getDiagnosticClient().EndSourceFile();
}
当我make
时收到的错误消息
g++ -I/usr/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fvisibility-inlines-hidden -fno-exceptions -fPIC -Woverloaded-virtual -Wcast-qual -fno-rtti -c -o main.o main.cpp
main.cpp:1:21: error: ‘clang’ is not a namespace-name
main.cpp:1:26: error: expected namespace-name before ‘;’ token
main.cpp: In function ‘int main()’:
main.cpp:4:9: error: ‘CompilerInstance’ was not declared in this scope
main.cpp:4:26: error: expected ‘;’ before ‘ci’
main.cpp:5:9: error: ‘ci’ was not declared in this scope
main.cpp:5:32: error: ‘NULL’ was not declared in this scope
main.cpp:9:15: error: ‘FileEntry’ does not name a type
main.cpp:10:48: error: ‘pFile’ was not declared in this scope
main.cpp:13:9: error: ‘Token’ was not declared in this scope
main.cpp:13:15: error: expected ‘;’ before ‘tok’
main.cpp:15:38: error: ‘tok’ was not declared in this scope
main.cpp:19:13: error: ‘cerr’ is not a member of ‘std’
main.cpp:19:26: error: ‘endl’ is not a member of ‘std’
main.cpp:20:19: error: ‘tok’ was not declared in this scope
main.cpp:20:29: error: ‘clang’ has not been declared
make: *** [main.o] Error 1
我是C++新手。如果这个问题太简单,我很抱歉。提前谢谢 您需要#包含适当的头文件以引用您尝试使用的API的成员。您需要#包含适当的头文件以引用您尝试使用的API的成员。您是否在实现文件中包含相关头文件,例如:
#include <CompilerInstance.h>
#包括
您是否在实现文件中包含了相关的标题,例如:
#include <CompilerInstance.h>
#包括