VLC 中LIVE555模塊編譯遇到的奇怪報錯-中文註釋引起。 VS調試。

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-

將此註釋放在下面,報錯消失:

                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怎麼也不能編譯成功的問題,與此類似。

經測試發現應該是VS編譯器的BUG,  應該是中文註釋問題,註釋中的中文要遠離註釋符號最好有個英文空格。

 在VLC工程中使用註釋時儘量用

/***

*

*/

不要使用//   或單行的/*  */應該就能避免。  其它地方加註也會有類似問題,如果在調試中發現這種大量莫名錯誤的情況可以先懷疑是這種原因

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章