VS2010“未声明的标识符”

zhang200410 2012-12-06 04:42:45
我用VS2010编译一个叫做X264的程序,编译中出现非常莫名其妙的问题:

错误 19 error C2065: “f_bias”: 未声明的标识符 d:\...\x264\x264-snapshot-20090601-2245\encoder\slicetype.c 456 1 libx264

后面还有好几个变量都是提示未声明的标识符,而我其实是声明了的,代码如下:
static int scenecut( x264_t *h, x264_mb_analysis_t *a, x264_frame_t **frames, int p0, int p1 )
{
x264_frame_t *frame = frames[p1];
x264_slicetype_frame_cost( h, a, frames, p0, p1, p1, 0 );

int icost = frame->i_cost_est[0][0];
int pcost = frame->i_cost_est[p1-p0][0];
float f_bias;
int i_gop_size = frame->i_frame - h->frames.i_last_idr;
float f_thresh_max = h->param.i_scenecut_threshold / 100.0;
/* magic numbers pulled out of thin air */
float f_thresh_min = f_thresh_max * h->param.i_keyint_min
/ ( h->param.i_keyint_max * 4 );
int res;

if( h->param.i_keyint_min == h->param.i_keyint_max )
f_thresh_min= f_thresh_max;
if( i_gop_size < h->param.i_keyint_min / 4 )
f_bias = f_thresh_min / 4;
else if( i_gop_size <= h->param.i_keyint_min )
f_bias = f_thresh_min * i_gop_size / h->param.i_keyint_min;

请问这个到底是怎么回事?
...全文
4977 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
朴隐散人 2013-01-20
  • 打赏
  • 举报
回复
变量应该在函数的前面。我也是刚出现这种问题了。
傻X 2012-12-07
  • 打赏
  • 举报
回复
这种问题一般有2种情况: 1.可能前面行的错误,也可能是后面行的错误。 2.自己的代码和编译的内容不符,请先clean掉Rebuild。 目测第二种可能性比较大
zhang200410 2012-12-06
  • 打赏
  • 举报
回复
引用 5 楼 ATMCash4423 的回复:
编译.c文件的话,变量声明应该放在函数开头吧。
确实是这样,非常感谢了! 我也挺久没写C了,但印象里好像没有这种要求似的,太奇怪了。我这个问题是有8、9个变量明明声明了但都是提示“未声明的标识符”,然后我按照你说的都在函数开头声明之后就行了。 像: static int scenecut( x264_t *h, x264_mb_analysis_t *a, x264_frame_t **frames, int p0, int p1 ) { float f_bias; ..... } 好怪异,但是还好解决了,谢谢了!
ATMCash4423 2012-12-06
  • 打赏
  • 举报
回复
编译.c文件的话,变量声明应该放在函数开头吧。
九州剑王 2012-12-06
  • 打赏
  • 举报
回复
引用 3 楼 zhang200410 的回复:
引用 1 楼 hfz8867879 的回复:应该看上下文 但是这个就是在一个函数中,函数里声明了一个变量(如红色字体),下面再用一下(红色字体部分),应该不涉及上下文吧
我觉得他的前一行有问题
zhang200410 2012-12-06
  • 打赏
  • 举报
回复
引用 1 楼 hfz8867879 的回复:
应该看上下文
但是这个就是在一个函数中,函数里声明了一个变量(如红色字体),下面再用一下(红色字体部分),应该不涉及上下文吧
zhang200410 2012-12-06
  • 打赏
  • 举报
回复
但是这个就是在一个函数中,函数里声明了一个变量(如红色字体),下面再用一下(红色字体部分),应该不涉及上下文吧
九州剑王 2012-12-06
  • 打赏
  • 举报
回复
应该看上下文

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧