инструмент clang: включить путь

Я хотел бы изменить путь включения моего инструмента clang в соответствии с вводом. Когда я запускаю приведенный ниже код в образце тестового файла, у меня возникает ошибка компиляции «заголовок не найден».

#include "clang/Frontend/FrontendActions.h"
#include "clang/Tooling/CommonOptionsParser.h"
#include "clang/Tooling/Tooling.h"
// Declares llvm::cl::extrahelp.
#include "llvm/Support/CommandLine.h"


using namespace clang::tooling;
using namespace llvm;

static llvm::cl::OptionCategory MyToolCategory("my-tool options");


int main(int argc , char** argv) {
    int argc_ = 5;
    const char **argv_ = new const char*[5];
    std::vector<std::string> Sources;
    Sources.push_back("path\\to\\Testfile.cpp");
    argv_[0] = argv[0];
    argv_[1] = &Sources[0][0];
    argv_[2] = "--";
    argv_[3] = "c++";
    argv_[4] = "-I\"path\\to\\external\\lib\\directory\"";
    CommonOptionsParser OptionsParser(argc_, argv_, MyToolCategory);
    // run the Clang Tool, creating a new FrontendAction (explained below)


    ClangTool Tool(OptionsParser.getCompilations(), Sources);
    int result = Tool.run(newFrontendActionFactory<clang::SyntaxOnlyAction>().get());

    system("pause");
    return result;
}

person ogzu rasa    schedule 05.08.2018    source источник


Ответы (1)


вы можете использовать -extra-arg для передачи includepath компилятору argv_[2]="-extra-arg=-Ipath/to/external/lib/directory"

person mugiseyebrows    schedule 25.08.2018