应该不是找不到compile_commands.json文件的原因:
- 我的compile_commands.json文件确实是在build目录下, 但是我再根目录建立了连接, 我看其他有些项目也是这样做的.
- 并不是所有语法解析都不正确, 很多其他的语法解析和自动补全都还是正常的. 其实总结一下问题, 目前我发现的主要是两个, 一个是boost类里面有些构造函数解析不太正常, 如主题中的例子; 另一个是有些类找不到合适的定义, 比如最近又遇到了
boost::asio::serial_port
和boost::unordered_map
被认为是int型的问题. 其他一些东西, 比如boost::shared_ptr
和boost::container::deque
是可以正常解析的.
PS: 我的boost是安装在系统里的, 路径在/usr/local
下面. 不知道语法解析会需要对这个做特殊配置, 但是自动补全是没有问题的.