AVR-GCC Windows 对比 Linux
AVR-GCC Windows vs. Linux
我正在开发一个 Arduino 项目,该项目是在 Windows 机器上使用 Arduino Builder 开发的。有了候选版本后,我开始开发一个 Linux docker 容器,一旦它被推送到我的 git 远程,它就会自动编译这个项目。然而,我注意到 Linux 容器编译的二进制文件与 Windows 机器的编译二进制文件不同,尽管 Arduino 版本和编译标志相同。这应该发生吗? AVR-GCC 不应该做出相等的交叉编译结果吗?
提前致谢。
好的,所以在深入研究这个问题并确认工具链具有相同的版本(尽管主机操作系统不同)之后,我发现在 Linux 上我没有给链接器 -flto
启用 link-time 优化器的标志,同时在 Windows.
上执行此操作
所以总而言之,我确实有一个配置错误,现在代码在两个主机操作系统上编译时都能顺利运行。
我正在开发一个 Arduino 项目,该项目是在 Windows 机器上使用 Arduino Builder 开发的。有了候选版本后,我开始开发一个 Linux docker 容器,一旦它被推送到我的 git 远程,它就会自动编译这个项目。然而,我注意到 Linux 容器编译的二进制文件与 Windows 机器的编译二进制文件不同,尽管 Arduino 版本和编译标志相同。这应该发生吗? AVR-GCC 不应该做出相等的交叉编译结果吗?
提前致谢。
好的,所以在深入研究这个问题并确认工具链具有相同的版本(尽管主机操作系统不同)之后,我发现在 Linux 上我没有给链接器 -flto
启用 link-time 优化器的标志,同时在 Windows.
所以总而言之,我确实有一个配置错误,现在代码在两个主机操作系统上编译时都能顺利运行。