C++ 替换boost build v2中的编译器

C++ 替换boost build v2中的编译器,c++,boost,build,boost-build,bjam,C++,Boost,Build,Boost Build,Bjam,我想在boost构建中挂接一个编译器工具 请注意,我不想替换编译器,这很容易: using msvc : : : <compiler>mycompiler ; 使用msvc:::mycompiler; 我正在寻找的是我的工具,将字面上放在执行线的前面。类似于单元测试启动器选项的东西 using msvc : : : <compiler-launcher>launcher ; 使用msvc:::启动器; 导致 launcher <the original li

我想在boost构建中挂接一个编译器工具

请注意,我不想替换编译器,这很容易:

using msvc : : : <compiler>mycompiler ;
使用msvc:::mycompiler;
我正在寻找的是我的工具,将字面上放在执行线的前面。类似于单元测试启动器选项的东西

using msvc : : : <compiler-launcher>launcher ;
使用msvc:::启动器;
导致

launcher <the original line here>
启动器

我想知道如何在不需要更改现有代码的情况下做到这一点。

我认为目前没有对这一点的支持,因此您只能使用
选项。我可以想出两种可能的方法来实现这一点:

  • 尝试将编译器设置为
    “launcher cl”
  • 创建一个批处理文件,该文件将创建相应的命令行 然后将其用作
    cl\u包装器.bat

    该批处理文件可能如下所示:

    cl_wrapper.bat

    @启动器cl.exe%*


  • 我认为目前还没有对此的支持,因此您只能使用
    选项。我可以想出两种可能的方法来实现这一点:

  • 尝试将编译器设置为
    “launcher cl”
  • 创建一个批处理文件,该文件将创建相应的命令行 然后将其用作
    cl\u包装器.bat

    该批处理文件可能如下所示:

    cl_wrapper.bat

    @启动器cl.exe%*


  • 这就行了。我对这种方法的担心是,它会覆盖确定编译器的默认逻辑,我可能会用cl。。。但是如果没有更好的方法可以做到这一点,我认为所有的msvc编译器都命名为cl,所以只要Boost.Build调用正确的安装脚本,这就不会造成问题。我对这种方法的担心是,它会覆盖确定编译器的默认逻辑,我可能会用cl。。。但是,如果没有更好的方法,这将做到这一点。我认为所有msvc编译器都命名为cl,因此这不应该造成问题,只要Boost.Build调用正确的安装脚本。