編譯開發warning消除,及error處理。

warning 處理

需將變量聲明放到開頭

警告信息:

warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]

變量定義之前任何一條非變量定義的語句(注意:語句是會帶分號的)都會引起這個警告!
解決方法:
將非變量的定義移到變量定義之後 即可
在內核中還需要將 printk的打印放在變量定義之後

添加c++11的支持

警告信息:

warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11

在Android.mk中添加:

LOCAL_CPPFLAGS += -std=c++11

取消對未使用參數的編譯警告

警告信息:

warning: unused parameter 'msgId' [-Wunused-parameter]

在Android.mk中添加:

LOCAL_CFLAGS +=  -Wno-unused-parameter

有符號類型和無符號類型比較警告

這種警告還是手動檢查一下,避免引入bug。
警告信息:

warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

在Android.mk中添加:

LOCAL_CFLAGS +=  -Wno-sign-compare

總結: 警告信息中會說明編譯選項,例如:[-Wsign-compare],添加no- 即爲取消警告的編譯選項,即:-Wno-sign-compare

Error 處理

error: invalid storage class for function

程序編譯的時候出現這個錯誤,按照所提示的語句找到出錯的函數發現沒有錯誤,其實導致這個錯誤的函數在這個函數的前面,原因是報錯的函數的前面的那一個函數{}不配對。

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