簡體   English   中英

“額外的';' Xcode C ++項目中的編譯錯誤

[英]“Extra ';' ” compile error in Xcode C++ project

我有一個從CMake腳本生成的C ++ Xcode 3項目。 它使用了一些以前一直有用的開源頭文件,但是在這個項目中,我得到了一個編譯錯誤Extra ';' 當后括號使用不必要的分號時:

if(...)
{
...
};

是否有一些編譯器選項會使尾部分號成為錯誤,我可以將其關閉?

這是有問題的文件之一,請參閱第259行:http: //zziplib.svn.sourceforge.net/viewvc/zziplib/trunk/zzip-0/zzip/zzip.h?revision=523&view=markup

分號警告由-pedantic (或-pedantic-errors )選項提供; 我認為您不能單獨禁用它。

我建議刪除分號而不是警告。

您向我們展示的示例代碼中的多余分號:

if(...)
{
...
};

完全合法; 這是一個空語句。

您得到的錯誤實際上是關於extern "C"上的一個額外的分號。 以下內容出現在zziplib庫的三個源文件中:

#ifdef __cplusplus
extern "C" {
#endif

...

#ifdef __cplusplus
};
#endif

這實際上是語法錯誤。 一些編譯器可能不會抱怨它,或者僅發出警告,但是對於g++ -pedantic-errors來說,這是一個致命的錯誤。

我向zziplib的維護者報告了此問題,我剛剛得到了回復:

Thanks for pointing to the problem, fixed in r524 now. I will
probably roll a public release next month (still need to check
the win32 version).

best regards, Guido Draheim

ChangeLog:

2012-09-15  guidod  <guidod@gmx.de>
    * zzip.h, plugin.h: "};" at end of extern-C produces build errors with
       the default --pedantic-errors on newer CMake. Thanks to Keith Thompson
       recognizing it - see http://stackoverflow.com/questions/12384280/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM