在Linux python=3.7版本下,运行sh build.sh时出现问题
running build_ext
skipping 'nms/cpu_nms.c' Cython extension (up-to-date)
running build_ext
skipping 'lib/rasterize.cpp' Cython extension (up-to-date)
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)
^
render.c:43:14: 附注:‘i’的上一个定义在此
for (int i = 0; i < ntri; i++)
^
render.c:75:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (int i = 0; i < nver; ++i)
^
render.c:106:14: 错误:‘i’重定义
for (int i = 0; i < nver; ++i)
^
render.c:75:14: 附注:‘i’的上一个定义在此
for (int i = 0; i < nver; ++i)
^
render.c:106:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (int i = 0; i < nver; ++i)
^
render.c:144:14: 错误:‘i’重定义
for (int i = 0; i < ntri; ++i)
^
render.c:106:14: 附注:‘i’的上一个定义在此
for (int i = 0; i < nver; ++i)
^
render.c:144:5: 错误:只允许在 C99 模式下使用‘for’循环初始化声明
for (int i = 0; i < ntri; ++i)
试过网上的那种 添加-std=gnu99 的参数(失败)
难道不允许在for里面定义int i??把int i放到for循环外面呢
报错信息告诉你-std=gnu99
你为什么要-std=gun99
这一样吗
C99标准应该是不允许在for里面初始化变量的,你在外面初始化就行了。