【发布时间】:2017-02-05 02:17:56
【问题描述】:
我正在使用 CodeLite 10.0.1 在 Ubuntu 16.04 上编写 C++11。
我项目中的一个sn-p如下:
#include "llvm/Pass.h"
#include "llvm/IR/Function.h"
#include "llvm/Support/raw_ostream.h"
#include <map>
#include <string>
.............
for (Function::iterator bb = F.begin(), e = F.end(); bb != e; ++bb) {
bb-> // NO AUTOCOMPLETE SUGGESTIONS
// assign integer ids to BasicBlock's
if (bb->hasName()) {
bbNameToId[bb->getName()] = bbId++;
} else {
bb->setName(Twine(bbName + std::to_string(bbId)));
bbNameToId[bb->getName()] = bbId++;
}
for (BasicBlock::iterator i = bb->begin(), e = bb->end(); i != e; ++i) {
if(opCounter.find(i->getOpcodeName()) == opCounter.end()) {
opCounter[i->getOpcodeName()] = 1;
} else {
opCounter[i->getOpcodeName()] += 1;
}
}
}
现在,CodeLite 可以轻松地为上述代码中的 F 等函数提供自动完成建议。但是,对于bb-> 没有建议,即Function::iterator。此外,代码完成适用于 C++ 标准库中声明的所有内容。
代码补全搜索路径设置如下:
/usr/include
/usr/include/c++/5
/usr/include/c++/5/backward
/usr/include/x86_64-linux-gnu
/usr/include/x86_64-linux-gnu/c++/5
/usr/lib/gcc/x86_64-linux-gnu/5/include
/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed
/usr/local/include
项目构建良好。我已经启用了 CTags 和 Clang 补全。
我该如何解决这个问题?
【问题讨论】: