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