在SmartSnippets中启用并行构建

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
vinio.
离线
最后一次露面:2年6个月前
加入:2018-07-02 13:27
在SmartSnippets中启用并行构建

你好,

我的项目的编译时间很长(与运行相同的SmartSnipets版本/ SDK /平台的其他机器相比),因此我正在尝试增加此编译时间。
当我在项目中启用SmartSnippets的并行构建时 - >属性 - > C / C ++构建/行为/启用并行构建“
我收到了此错误消息:

make [1]:警告:JobServer不可用:使用-J1。将`+'添加到父级规则。
也困扰着构建,不会进一步..
似乎Makefile应该使用$(make)变量而不是make命令。但我无法找到哪里(在对话框GNU工具链或SmartSnippets配置中?)。

我认为它会增加2或3的建筑时间,所以如何了解如何。

你更了解这个吗?

谢谢,
文森特

设备:
mhv_dialog.
离线
最后一次露面:3个月3周前
职员
加入:2013-12-06 15:10
嗨文森特,

嗨文森特,

我要求我们的SDK团队的一些意见。你应该很快回复。

/ mhv.

mhv_dialog.
离线
最后一次露面:3个月3周前
职员
加入:2013-12-06 15:10
嗨文森特,

嗨文森特,

我收到了团队中的这些信息:

这是一个很好的信息来源:
https://www.gnu.org/software/make/manual/html_node/options_002frecursion.html#options_002frecursion.

'-j'选项是一个特殊情况(请参阅并行执行)。If you set it to some numeric value ‘N’ and your operating system supports it (most any UNIX system will; others typically won’t), the parent make and all the sub-makes will communicate to ensure that there are only ‘N’ jobs running at the same time between them all. Note that any job that is marked recursive (see Instead of Executing Recipes) doesn’t count against the total jobs (otherwise we could get ‘N’ sub-makes running and have no slots left over for any real work!)

如果您的操作系统不支持上述通信,则不会将“-J”添加到MakeFlags中,以便在非并行模式下运行子。如果“-J”选项传递给子,则会让您获得比您要求的并行运行的工作。如果您提供“-J”,则没有数字参数,意思是与并行的尽可能多的作业,因此传递给下来,因为多个无限不超过一个。

事实上,警告意味着GNU使得无法正确处理并行构建,因为它不知道如何训练构建。
它还告诉您,它将使用-j1,并且您应该向“父制度规则”添加加号。
由SS Studio由Makefile自动控制,在Windows上可见。
您可以通过呼叫来解决此问题make --silent -j预构建主构建- >使用无限的工作。

示例输出:

make --silent -j预构建主构建
生成链接脚本。
调用:交叉臂GNU打印尺寸
文本数据BSS DEC十六进制文件名
91240 112 24616 115968 1c500 pxp_reporter.elf
完成构建:PXP_Reporter.Siz

/ mhv.

vinio.
离线
最后一次露面:2年6个月前
加入:2018-07-02 13:27
传递-J选项工作

通过-J选项效果很好!我只需2分钟即可建立整个平台,以前花了8分钟。

谢谢你的支持!