我是一个相当新手的程序员,最近开始使用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检查器知道除了默认文件之外,还有其他地方可以查找包含的文件。

09-25 19:45
查看更多