VLC 中LIVE555模块编译遇到的奇怪报错

VS版VLC中对LIVE555加注释遇到了一个奇怪报错现象,记录如下:

                p_sys->rtsp->sendSetupCommand( *sub, default_live555_callback, False,
                                               toBool( b_rtsp_tcp ),
                                               toBool( p_sys->b_force_mcast && !b_rtsp_tcp ) );
                if( !wait_Live555_response( p_demux ) )/***判断Setup命令是否发送成功*/
                {

如上位置处加一注释,编译时会报如下一堆错误:

错误    31    error C2059: 语法错误:“delete”    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1213    1    live555
错误    32    error C2059: 语法错误:“if”    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1214    1    live555
错误    33    error C2143: 语法错误 : 缺少“;”(在“->”的前面)    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1217    1    live555
错误    34    error C4430: 缺少类型说明符 - 假定为 int。注意:  C++ 不支持默认 int    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1217    1    live555
错误    35    error C2143: 语法错误 : 缺少“;”(在“->”的前面)    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1220    1    live555
错误    36    error C4430: 缺少类型说明符 - 假定为 int。注意:  C++ 不支持默认 int    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1220    1    live555
错误    37    error C2086: “int p_sys”: 重定义    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1220    1    live555
错误    38    error C2065: “p_demux”: 未声明的标识符    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1223    1    live555
错误    39    error C2227: “->f_npt_start”的左边必须指向类/结构/联合/泛型类型    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1223    1    live555
错误    40    error C2227: “->f_npt_length”的左边必须指向类/结构/联合/泛型类型    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1223    1    live555
错误    41    error C4430: 缺少类型说明符 - 假定为 int。注意:  C++ 不支持默认 int    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1223    1    live555
错误    42    error C2365: “vlc_Log”: 重定义;以前的定义是“函数”    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1223    1    live555
错误    43    error C2078: 初始值设定项太多    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1223    1    live555
错误    44    error C2440: “初始化”: 无法从“const char [24]”转换为“int”    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1223    1    live555
错误    45    error C2143: 语法错误 : 缺少“;”(在“->”的前面)    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1226    1    live555
错误    46    error C4430: 缺少类型说明符 - 假定为 int。注意:  C++ 不支持默认 int    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1226    1    live555
错误    47    error C2086: “int p_sys”: 重定义    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1226    1    live555
错误    48    error C2143: 语法错误 : 缺少“;”(在“->”的前面)    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1227    1    live555
错误    49    error C4430: 缺少类型说明符 - 假定为 int。注意:  C++ 不支持默认 int    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1227    1    live555
错误    50    error C2086: “int p_sys”: 重定义    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1227    1    live555
错误    51    error C2059: 语法错误:“return”    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1229    1    live555
错误    52    error C2059: 语法错误:“}”    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1230    1    live555
错误    53    error C2143: 语法错误 : 缺少“;”(在“}”的前面)    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1230    1    live555
错误    54    error C2143: 语法错误 : 缺少“;”(在“{”的前面)    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1236    1    live555
错误    55    error C2447: “{”: 缺少函数标题(是否是老式的形式表?)    d:\dfb_work\vlc_0525\播放器\vlc-2.2.6.32-2013-master2\vlc-2.2.6.32-2013-master_orgin\modules\access\live555.cpp    1236    1    live555
 

将此注释放在下面,报错消失:

                p_sys->rtsp->sendSetupCommand( *sub, default_live555_callback, False,
                                               toBool( b_rtsp_tcp ),
                                               toBool( p_sys->b_force_mcast && !b_rtsp_tcp ) );
                if( !wait_Live555_response( p_demux ) )
                {/***判断Setup命令是否发送成功*/

同样改成下面这样也不报错:

                p_sys->rtsp->sendSetupCommand( *sub, default_live555_callback, False,
                                               toBool( b_rtsp_tcp ),
                                               toBool( p_sys->b_force_mcast && !b_rtsp_tcp ) );
                if( !wait_Live555_response( p_demux ) )//这儿加下面一行注释会报错
                {/***判断Setup命令是否发送成功*/

未能找到原因,此前曾遇到过VLC怎么也不能编译成功的问题,与此类似。

猜你喜欢

转载自blog.csdn.net/DANFBAORE/article/details/84251985