Я столкнулся с подобной проблемой, может быть, решение также похоже:
Я использую clang для внутренней компиляции кода и вектор, содержащий аргументы для отправки компилятору:
llvm::SmallVector<const char *, 128> Args;
Args.push_back("some");
Args.push_back("flags");
Args.push_back("and");
Args.push_back("options");
//...
Добавление строки типа "Args.push_back (" - include-pch myfile.h.pch ");" приведет к ошибке из-за того, что флаг -include-pch читается как флаг -include.
В этом случае, если вы хотите использовать файл pch, вы должны использовать «два» аргумента:
llvm::SmallVector<const char *, 128> Args;
//...
Args.push_back("-include-pch");
Args.push_back("myfile.h.pch");
//...