硬汉嵌入式论坛

 找回密码
 立即注册
查看: 568|回复: 6
收起左侧

[IAR] IAR工程转到ubuntu下CMake编译功能异常

[复制链接]

81

主题

284

回帖

527

积分

金牌会员

积分
527
发表于 2026-2-21 20:05:15 | 显示全部楼层 |阅读模式
IAR跑通的工程想改到ubuntu下用CMake命令行编译,折腾了几天可以正常编译生成hex文件了,但是发现功能异常。
我的工程比较复杂、涉及到UCOS-III、USB、FATFS,现在IAR正常,改为gcc编译出来的就有问题。单片机是STM32F407,问了问chatgpt改了不少地方,没搞定。

ubuntu下开发过STM32的朋友能不能分享些经验。
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
121986
QQ
发表于 2026-2-23 01:23:46 | 显示全部楼层
IAR也支持CMAKE,可以直接创建
https://github.com/IARSystems/cmake-tutorial
回复

使用道具 举报

81

主题

284

回帖

527

积分

金牌会员

积分
527
 楼主| 发表于 2026-2-24 21:33:10 | 显示全部楼层
eric2013 发表于 2026-2-23 01:23
IAR也支持CMAKE,可以直接创建
https://github.com/IARSystems/cmake-tutorial

准确说是,gcc编译出来的和iccarm的结果不一样
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
121986
QQ
发表于 2026-2-25 00:06:33 | 显示全部楼层
logo 发表于 2026-2-24 21:33
准确说是,gcc编译出来的和iccarm的结果不一样

那肯定不一样的。同一个工程要做到IAR,MDK,GCC通吃还是要根据代码工程做调整的。

之前的ThreadX V1.0全家桶模板,我整理了GCC,MDK和IAR三个版本
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=103554
回复

使用道具 举报

81

主题

284

回帖

527

积分

金牌会员

积分
527
 楼主| 发表于 2026-2-25 01:43:03 | 显示全部楼层
eric2013 发表于 2026-2-25 00:06
那肯定不一样的。同一个工程要做到IAR,MDK,GCC通吃还是要根据代码工程做调整的。

之前的ThreadX V1.0 ...

代码简单调整了,发现搞不定,原本的程序功能感觉有点复杂,算了了暂时不折腾gcc了,还是继续用IAR吧
回复

使用道具 举报

0

主题

25

回帖

25

积分

新手上路

积分
25
发表于 2026-2-25 09:03:41 | 显示全部楼层
logo 发表于 2026-2-25 01:43
代码简单调整了,发现搞不定,原本的程序功能感觉有点复杂,算了了暂时不折腾gcc了,还是继续用IAR吧

主要检查不同编译器的宏定义,IAR和GCC以及KEIL,他们都有针对自己编译器的宏定义.如果没处理就相当于有些代码或者变量没有被编译,从而导致了你说的功能不正常
回复

使用道具 举报

81

主题

284

回帖

527

积分

金牌会员

积分
527
 楼主| 发表于 2026-2-27 21:15:34 来自手机 | 显示全部楼层
benny 发表于 2026-2-25 09:03
主要检查不同编译器的宏定义,IAR和GCC以及KEIL,他们都有针对自己编译器的宏定义.如果没处理就相当于有些 ...

我也是这样操作的,只是代码太多了,不想折腾
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2026-4-10 22:30 , Processed in 1.896824 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表