YouCompleteMe是一个非常棒的V ++插件,但是,它需要用户提供的.ycm_extra_conf.py
脚本来返回每个C / C ++源代码的编译器标志。
目前我有一个基于CMake的C ++项目,我想使用这个插件来简化我的开发,然后我需要以编程方式将.ycm_extra_conf.py
脚本编写到 找出编译器标志对于每个源文件。
所以我的问题是,有没有办法以编程方式通过查看构建目录找出每个源的编译器标志,因为我已经运行了cmake并生成了一堆文件。
答案 0 :(得分:0)
没有通用的解决方案,因为CMake可以为不同的平台和程序生成构建解决方案,例如Makefile与Visual Studio项目。
对于Makefile生成器,您可以尝试在CMakeFiles / CMakeDirectoryInformation.cmake文件中或直接从Makefile中查找相关信息。但这可能不是一个非常可靠的解决方案,因为这些文件是Makefile生成器的内部,可能会随着每个CMake版本而改变。
Eclipse使用的解决方案是解析包含标志等的编译器调用的输出。这可能更可靠一些。对于Makefile,您可以通过编译使用VERBOSE = 1作为环境或调用变量来启用完整输出。