3

我是一个相当新手的程序员,最近开始使用 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;





  }
4

1 回答 1

3

如果您使用的是 Syntastic 插件,请查看文件

syntastic/syntax_checkers/cpp.vim

可以设置许多特定于语言的选项,我认为您想要的是

let g:syntastic_cpp_include_dirs=['path/to/boost/files']

这让语法检查器知道除了默认文件之外,还有其他地方可以查找包含的文件。

于 2012-07-14T01:07:11.370 回答