嵌入式linux开发,编译报错:error: ‘for’ loop initial declarations are only allowed in C99 mode
2023-09-14 09:09:33 时间
一、问题描述
在嵌入式linux开发过程中,进行编译,报错如下
src/util/Vector.c:94:9: error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int j = V->length++; j > i; j--)
^
src/util/Vector.c:94:9: note: use option -std=c99 or -std=gnu99 to compile your code
src/util/Vector.c: In function ‘Vector_remove’:
src/util/Vector.c:123:9: error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int j = i; j < V->length; j++)
^
二、问题分析
gcc编译,是基于低于C99标准编译的。在低于c99的标准中, for循环内定义变量是不允许的。
三、解决方案
方法一
修改代码
int j;
for (j = i; j < V->length; j++)
方法二
gcc指定使用c99标准进行编译
gcc -std=c99
方法三
在Makefile中指定使用c99标准进行编译
CFLAGS += -std=c99
相关文章
- Linux项目开发实例:让开发变得更简单(linux项目开发实例)
- Linux编程之旅:从零开始(从零开始学linux编程)
- Linux嵌入式开发板:创新科技助力智能世界(linux嵌入式开发板)
- 学习嵌入式Linux,自我进步之路(嵌入式linux自学)
- 深入浅出:嵌入式Linux之旅(嵌入式linux题目)
- Linux下IIC驱动开发实战(linux的iic驱动)
- 教程Linux兄弟连视频教程:一步步学习Linux基础知识(linux兄弟连视频)
- BootloaderBootloader:Linux 操作系统必不可少的环节(linux的分支)
- 手把手教你Linux系统ISO文件快速下载(linux.iso下载)
- 学习嵌入式Linux,拥抱新世界(嵌入式linux学习教程)
- Linux强大的嵌入式命令(linux嵌入命令)
- 管理Linux分支管理:提升开发效率的利器(linux的分支)
- 选择适合自己的Linux系统:开发者必读。(哪个linux适合开发)
- Linux网络传输:极速体验(linux网络传输速度)
- 籍Linux系统开发入门书籍推荐(linux有关的书)
- 开发必备:Linux版本选择指南(开发用linux版本)
- “进入嵌入式世界:Linux嵌入式入门指南”(linux嵌入式入门)
- 学习Linux驱动开发的最佳途径:参加专业培训(linux驱动开发培训)
- SVN教程:Linux下版本控制入门指南(svn教程linux)
- 如何在Linux上修改挂载目录(linux修改挂载目录)
- 深入浅出:Qt在嵌入式Linux中的开发(qt嵌入式linux)
- Linux下如何安装Vim编辑器(linux中安装vim)
- 轻松学习:如何在 Linux 上安装 XML 解析器(linux安装xml)
- 了解Linux程序运行权限,保障系统安全(linux程序运行权限)
- Linux系统根目录分区实践(linux 根目录分区)
- 开启嵌入式Linux之旅:BOA解析器为你一路开路(嵌入式linux boa)