用于 CLI 构建的嵌入式C++的 Visual Studio 自定义生成定义

Visual Studio custom build definitions for CLI built embedded C++

本文关键字:自定义 定义 Studio C++ CLI 构建 嵌入式 用于 Visual      更新时间:2023-10-16

我有一个来自ARM的构建引擎,叫做yotta。我一直在使用命令行,使用以下命令,我可以在其中构建项目并生成输出。

$ yt target bbc-microbit-gcc
$ yt build

然后可以从build/bbc-microbit-gcc/source/Project-name-combined.hex访问编译的文件

是否可以自动化此 CLI 并将其作为构建定义构建到 Visual Studio 中?我知道在Visual Studio Team Services/Team Foundation Server中),您可以使用命令行定义构建步骤,什么是本地等效项。

我正在使用Visual Studio Enterprise 2015。任何朝着正确方向的推动将不胜感激。

编辑:

我已经看过GCC4mbed项目,但是最好使用新的yotta命令行构建来执行此操作。就VS而言,是将项目的构建版本添加到目录中的命令行工具,还是构建工具?如果是这样,那么我知道我可以按照指南向 VS 添加自定义构建工具,但是,令我震惊的是,VS 可能需要一个构建工具达到一定的标准才能使智能感知等工作。在这种情况下,我可能需要在现有的 yotta 工作之上创建一个构建工具并将其指定给 VS?想法将不胜感激。

您是否尝试使用Yotta提供的cmake生成器选项(因为它使用CMake)? yotta build --help -G CMAKE_GENERATOR, --cmake-generator CMAKE_GENERATOR CMake generator to use (defaults to Ninja). You can use this to generate IDE project files instead, see cmake --help

部分实现为 VS 调试引擎的理想解决方案仍在开发中,最近才允许 gdb 扩展。yotta之上用于调试的工具称为Valinor(它使用progen:https://github.com/project-generator/project_generator)。

Progen支持Visual Studio gdb(目前非常有限,稍后会解释)。我能够在Visual Studio中使用yotta调试,但并非没有黑客(可以追溯到2015年11月至12月)。这个想法是有一个带有gdb设置和自定义构建命令(make,cmake或yotta)的可视化工作室项目(在我们的例子中是pyOCD设置,可以是openOCD或jlinkGDB,并为yotta构建环境)。

我记得,你在 https://github.com/project-generator/project_generator/issues/98 上评论了这个问题,我还没有收到你的回复。我记得我遇到的问题是我无法启动 gdb 服务器(我必须手动完成),我无法将参数传递给 gdb(例如启动会话时的加载/重置/停止)。

我将更新我的 VS 插件并检查 gdb 插件中是否有任何更新,我被告知应该有。

我感谢任何帮助,无论是 progen 还是 valinor 都可以为用户提供。