【已解决】错误:只允许在 C99 模式下使用‘for’循环初始化声明

项目场景:

运行3DFFA_v2_master项目
运行sh build.sh脚本文件
环境:centos python3.7


问题描述

render.c: 在函数‘_render’中:
render.c:43:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (int i = 0; i < ntri; i++)

render.c:43:5: 附注:使用 -std=c99 或 -std=gnu99 来编译您的代码
render.c:75:14: 错误:‘i’重定义
for (int i = 0; i < nver; ++i)
【已解决】错误:只允许在 C99 模式下使用‘for’循环初始化声明_第1张图片


尝试过的方法:

按照错误提示,尝试过在运行命令后添加参数
-std=c99 或
-std=gnu99
依旧出错


解决方案:

找到脚本中提到的render.c文件
编辑render.c文件
将:

for (int i= 0;i < ntri; i++)

修改成:

int i;
for (i= 0;i < ntri; i++)

出现新的错误:

render.c:76:6: 错误:‘i’重声明为没有外部链接
int i;
^
render.c:43:6: 附注:‘i’的上一个声明在此
int i;
^
【已解决】错误:只允许在 C99 模式下使用‘for’循环初始化声明_第2张图片

将其他行(分别是76,108,147行)的i改成其他的变量j,k,m
不重复变量名称

【已解决】错误:只允许在 C99 模式下使用‘for’循环初始化声明_第3张图片
【已解决】错误:只允许在 C99 模式下使用‘for’循环初始化声明_第4张图片
【已解决】错误:只允许在 C99 模式下使用‘for’循环初始化声明_第5张图片

再次运行sh build.sh
不再报错

【已解决】错误:只允许在 C99 模式下使用‘for’循环初始化声明_第6张图片

你可能感兴趣的:(bug合集,python,开发语言,c语言)