我刚刚用svn下载了llvm和clang,就像在官方网站上描述的那样构建它并且想要使用clang API。我有一个例子,它不会被编译=(
#include <iostream>
#include <clang-c/Index.h>
int main (int argc, char** argv)
{
CXIndex index = clang_createIndex (
false, // excludeDeclarationFromPCH
true // displayDiagnostics
);
CXTranslationUnit unit = clang_parseTranslationUnit (
index, // CIdx
"main.cpp", // source_filename
argv + 1 , // command_line_args
argc - 1 , // num_command_line_args
0, // unsave_files
0, // num_unsaved_files
CXTranslationUnit_None // options
);
if (unit != 0 )
std::cout << "Translation unit successfully created" << std::endl;
else
std::cout << "Translation unit was not created" << std::endl;
clang_disposeTranslationUnit(unit);
clang_disposeIndex(index);
}
命令行如下所示:
g++ main.cpp -I/home/<user>/llvm/tools/clang/include
-L/home/<user>/build/Debug+Asserts/lib/ -llibclang -o main
更新
错误:
/usr/bin/ld: cannot find -llibclang
但是libclang位于/ home // build / Debug + Asserts / lib /目录中。
还尝试使用-llibclang.so,除了llibclang - 无论=(ld说它找不到lib。
一切都有帮助,谢谢!