【发布时间】:2019-08-31 23:22:07
【问题描述】:
我正在尝试使用 Ninja 在 Visual Studio 中构建我的 C++ 项目,并且我有一个基本设置来编译和链接我已经成功测试过的命令行。
我现在正在尝试将其集成到 Visual Studio 中,并且我想用此自定义构建工具完全替换默认构建,同时仍将我的项目设置考虑在内。当我右键单击我的项目并单击构建时,我希望它运行我在项目属性中设置的这个自定义构建工具。目前它似乎在进行常规构建并完全忽略了自定义构建步骤。如果我右键单击我的自定义构建文件并单击编译,那么它将执行自定义构建步骤。
自定义构建输出 - 当我右键单击并编译自定义构建工具文件时
1>------ Build started: Project: test, Configuration: TEST x64 ------
1>Performing Custom Build Tools
1>[1/1] cl /Fo:build\obj\ /EHsc test.cpp test2.cpp
1>Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27024.1 for x64
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>
1>test.cpp
1>test2.cpp
1>Generating Code...
1>Microsoft (R) Incremental Linker Version 14.16.27024.1
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>
1>/out:test.exe
1>build\obj\test.obj
1>build\obj\test2.obj
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
全部重建项目
1>------ Rebuild All started: Project: test, Configuration: TEST x64 ------
1>Performing Custom Build Tools
1>[1/1] cl /Fo:build\obj\ /EHsc test.cpp test2.cpp
1>Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27024.1 for x64
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>
1>test.cpp
1>test2.cpp
1>Generating Code...
1>Microsoft (R) Incremental Linker Version 14.16.27024.1
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>
1>/out:test.exe
1>build\obj\test.obj
1>build\obj\test2.obj
1>pch.cpp
1>test.cpp
1>test2.cpp
1>Generating Code...
1>test.vcxproj -> C:\Users\user\source\repos\test\x64\TEST\test.exe
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
对于后一个输出,看起来它执行了两次构建。一次使用 Visual Studio(我不想要),一次使用自定义构建工具。
有没有一种方法可以让我在我的项目上单击构建,它会仅执行我的自定义构建?
【问题讨论】:
标签: build visual-studio-2017 ninja