使用“-d”进行自动版本,在SmartSnippet中创建标志

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
mer
离线
最后一次露面:10个月1周前
加入:2020-08-25 20:51
使用“-d”进行自动版本,在SmartSnippet中创建标志

你好,

我正在尝试实现一些自动版本控制,以便我不必手动检查我与我的软件版本保持最新。为此,我认为我会用当前日期和时间动态地设置预处理器宏。

在SmartSnippets中,我可以转到设置,C / C ++构建 - > Cross Arm C编译器 - >预处理器设置,然后定义符号(-d)以添加我想要的内容。这里的确切语法是:Blackorca_sw_version =“\”c $(日期+“%Y.%m。%d。%d。%h.%m”)\“”“的意图”日期“调用sh​​ell命令获取当前日期,随后被格式化了我想要的方式。我也想要“c”前缀。

我在本地测试了与GCC的语法,它很棒。当我尝试围绕SmartSnippets浏览并从终端手动呼叫“制作”时(调用正确的交叉编译器而不是GCC),并且从项目构建文件夹中,我可以看到正确解析到当前日期和时间的输出。但是,当我经过SmartSnippet和我的构建配置时,宏被识别为定义(无编译错误),但是当我刷我的电路板时(我有一个Dev Lander和自定义板),宏结束了被解析仅限“C”,并且该字符串的其余部分不会出现。

我知道这是一个超级特定的请求,但如果在本地使用GCC时宏可以正确解决,并且在手动调用终端时使用ARM-None-EABI-GCC时,那么可能有一些SmartSnippet / Eclipse相关的东西我需要帮助。

任何建议吗?如果有更简单的方法来实现此自动版本控制,请告诉我。谢谢。

- 梅尔

设备:
PM_DIALOG.
离线
最后一次露面:16小时17分钟前
职员
加入:2018-02-08 11:03
嗨merigh,

嗨merigh,

谢谢你的问题在线。让我检查一下,我会回复你。

谢谢,PM_DIALOG.

mer
离线
最后一次露面:10个月1周前
加入:2020-08-25 20:51
你好,我们又见面了,

你好,我们又见面了,

另一种选择可以是在智能片段项目设置中使用预构建步骤。目前,此字段将填充“生成链接脚本”命令。还有一种简单的方法来简单地添加预制作步骤吗?或者我只是在小盒子里附加文字?然后,我可以从那里修改我的sw_version.h文件没有问题。我认为。

谢谢你的帮助,

m

mer
离线
最后一次露面:10个月1周前
加入:2020-08-25 20:51
另一个更新,

另一个更新,

在预构建步骤中添加原始文本工作很大。现在我有另一个相关问题:

Dialog的Suota 1.1规范是否要求版本字符串长为16个字符?或者我可以制作18岁,例如?那是因为我想要cyyyy.mm.dd.hh.mm格式。

谢谢,M.