我是一个相当新手的程序员,最近开始使用boost。在成功地将库与cmake链接之后,我注意到我的vim(我认为是同步插件)在突出语法错误方面做得很好。但是自从我开始包含boost库以来,它就一直在#include语句处停止(没有这样的文件/目录),并且在文件的其余部分中都没有显示任何语法错误。我到处搜索,但是找不到解决方法,该方法可让我在编译阶段之前对错误代码进行语法检查。任何帮助将不胜感激。
我无法发布屏幕截图(评级太低),但会发布任何有价值的代码
#include <iostream>
#include <boost/regex.hpp> <--------------syntax error (though it compiles fine)
#include <algorithm>
using namespace std;
void testMatch(const boost::regex& ex,const string st){
cout<<"Matching" <<st <<endl;
if(boost::regex_match(ex,st)){
cout<<"matches"<<endl
}
else cout<<"oops"; }
void testSearch(const boost::regex& ex, const string st){
cout<<"Searching"<<endl;
}
最佳答案
如果您使用的是Syntastic插件,请查看
syntastic/syntax_checkers/cpp.vim
有很多可以设置的特定于语言的选项,我想您想要的是
let g:syntastic_cpp_include_dirs=['path/to/boost/files']
这使sytax检查器知道除了默认文件之外,还有其他地方可以查找包含的文件。