【发布时间】:2013-10-30 02:39:41
【问题描述】:
我正在尝试获取每个编译单元的编译参数,这样我就可以为我的 vcxproj 创建“compilation_commands.json”,它可以与 clang 的 libTooling 一起使用。
libTooling tutorial 建议使用CompilationDatabase 为项目中的所有 cpp 文件提供编译参数。本教程显示 CMake 可以为基于 CMake 的项目生成 compiler_commands.json。
由于可以通过clang.exe --driver-mode=cl 或clang-cl.exe 将clang 置于“MSVC 模式”,我的想法是如果我可以在我的VS2012 项目中获得每个cpp 文件的编译参数,我可以为vcxproj 创建compile_commands.json。
但是,我在 VS2012 SDK 中查找 API 时遇到了问题,这些 API 会遍历 vcxproj 并检索每个编译单元的编译参数。有人可以指出正确的 API 吗?
【问题讨论】:
-
你不会在 Visual Studio SDK 中找到它,构建是 MSBuild.exe 的工作。您可以修改 .targets 文件,但您很快就会迷路。非常简单的方法是提供 cl.exe 和 link.exe 的替代品。捕获命令行并将其写入文件。
标签: visual-studio-2012 msbuild clang visual-studio-sdk