dev*_*nut 18 c++ vim syntastic
我正在使用C++项目并尝试将其配置为使用合成.在我的项目中,我有一个嵌套的头文件目录结构(实际的嵌套结构更糟糕,这是一个例子).
--libs
|---dir1
|---foo1.h
|---dir2
|---foo2.h
|---foo3.h
|---dir3
|---foo4.h
Run Code Online (Sandbox Code Playgroud)
我使用以下命令将lib文件包含在我的.vimrc文件中:
让g:syntastic_cpp_include_dirs = ['libs /']
我假设这会以递归方式获取所有头文件,但事实并非如此.在代码中,syntastic抱怨错误'找不到这样的文件或目录'.
当我显式更改变量以引用特定目录时:
让g:syntastic_cpp_include_dirs = ['libs/dir2/dir3 /']
有用.
我的问题:
编辑:
我没有在我的.vimrc中提到,以下选项适用于syntastic:
let g:syntastic_check_on_open=1
let g:syntastic_enable_signs=1
let g:syntastic_cpp_include_dirs = ['libs/dir2/dir3', 'libs/dir2 ]
let g:syntastic_cpp_check_header = 1
let g:syntastic_cpp_remove_include_errors = 1
Run Code Online (Sandbox Code Playgroud)
vvn*_*man 32
您可以在文件的项目根目录中包含要搜索的每个项目的头文件的所有目录.syntastic_cpp_config.这样做的格式与向-I编译器提供指令的格式相同.
对于您的情况,它意味着:
.syntastic_cpp_config下sources(假设这就是你的代码,并sources在该目录层次结构中的相同深度的水平libs).在其中添加以下行:
-Ilibs/dir1
-Ilibs/dir2
-Ilibs/dir2/dir3
请注意,每行标志为1.
.vimrc.您可以使用不同的文件来保存每个项目的自定义配置,例如,由.vimrc全局变量指定g:syntastic_cpp_config_file
let g:syntastic_cpp_config_file = '.my_custom_include_file_for_syntastic'
Run Code Online (Sandbox Code Playgroud)
Syntastic将检查每个源目录及其向上,直到找到此文件,然后使用它来生成其输出.
有关更多详细信息,请参见Syntastic wiki页面, 旧链接.
| 归档时间: |
|
| 查看次数: |
12516 次 |
| 最近记录: |