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