CocoaHTTPServer報(bào)錯(cuò)implicit declaration of function 'LOG_OBJC_MAYBE' is invalid in C99

最近開發(fā)用到一個(gè)第三方公司的庫,他們的庫有用到CocoaHTTPServer,吐槽下,這庫2013年就停更了,版本定格在了2.3,開始編譯之后報(bào)錯(cuò)implicit declaration of function 'LOG_OBJC_MAYBE' is invalid in C99 查了下有說是debug編譯類型選錯(cuò)的,其實(shí)根本原因是:
這庫用了CocoaLumberJack,而且是1.x版本的,CocoaLumberjack在2.0更新的時(shí)候,改動(dòng)挺大,官方也給出了1.x遷移到2.x的更新步驟,現(xiàn)在已經(jīng)到3.5.3版本了,但是CocoaHTTPServer代碼中用的還是1.x的方法。因?yàn)閹煲呀?jīng)不再更新,只能自己去修改源代碼了。

報(bào)錯(cuò):

image.png

出錯(cuò)文件:

CocoaHTTPServer/HTTPLogging.h

這里用的還是1.x的方法:

#define DD_LEGACY_MACROS 0
#import "DDLog.h"

修改方法:

1--將上面兩行改為

#import <CocoaLumberjack/CocoaLumberjack.h>

2--然后增加兩個(gè)宏定義:

#define HTTP_LOG_OBJC_MAYBE(async, lvl, flg, ctx, frmt, ...) \
do{ if(HTTP_LOG_ASYNC_ENABLED) LOG_MAYBE(async, lvl, flg, ctx, nil, sel_getName(_cmd), frmt, ##__VA_ARGS__); } while(0)

#define HTTP_LOG_C_MAYBE(async, lvl, flg, ctx, frmt, ...) \
do{ if(HTTP_LOG_ASYNC_ENABLED) LOG_MAYBE(async, lvl, flg, ctx, nil, __FUNCTION__, frmt, ##__VA_ARGS__); } while(0)

3--然后把整個(gè)頭文件里的:
所有LOG_OBJC_MAYBE改成HTTP_LOG_OBJC_MAYBE
所有LOG_C_MAYBE改成HTTP_LOG_C_MAYBE

4--重新編譯,錯(cuò)誤消失

原因:

1.x版本,是通過引入DDLog.h頭文件來引入DDLegacyMacros.h。2.x版本之后使用的是DDLogMacros.h,使用的是新的LOG_MAYBE方法,廢棄掉了LOG_OBJC_MAYBE方法。

吐槽:

這種已經(jīng)放棄了更新的庫,一般都會(huì)選擇使用其他類似的庫或者直接使用源代碼來改動(dòng),還用cocoapods的話 真的是無比的蛋疼,改動(dòng)了pods的源代碼,小伙伴pod install之后也得去改源代碼,煩的一筆

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Step 1:change #import "DDLog.h" to #import <CocoaLumberja...
    景彧閱讀 4,222評論 6 7
  • GitHub 上排名前 100 的 Objective-C 項(xiàng)目簡介 轉(zhuǎn)自 簡書 Amin706 GitHub ...
    藍(lán)搖扼劍閱讀 1,602評論 0 13
  • 在iOS開發(fā)中不可避免的會(huì)用到一些第三方類庫,它們提供了很多實(shí)用的功能,使我們的開發(fā)變得更有效率;同時(shí),也可以從它...
    xuejunjun閱讀 41,799評論 9 176
  • 久違的晴天,家長會(huì)。 家長大會(huì)開好到教室時(shí),離放學(xué)已經(jīng)沒多少時(shí)間了。班主任說已經(jīng)安排了三個(gè)家長分享經(jīng)驗(yàn)。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,822評論 16 22
  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友。感恩相遇!感恩不離不棄。 中午開了第一次的黨會(huì),身份的轉(zhuǎn)變要...
    余生動(dòng)聽閱讀 10,858評論 0 11

友情鏈接更多精彩內(nèi)容