expected expression before')'token


 

 

如上圖所示,今天遇到的一個編譯問題,明明用法跟其他地方的一摸一樣,在主程序里編譯就沒問題,動態庫里死活都編譯不過去,可把我折磨死了,最后沒辦法,只能請教大佬,大佬過來幾分鍾就找到了問題,真正出錯的地方並不是報error的地方,而是截圖中圈紅的地方,最后發現是編譯選項出的問題,果然一看主程序里面編譯選項是-std=gnu99,動態庫里編譯選項卻是-std=c99,原因就出來了 下面給出解決方案:

warning: implicit declaration of function ‘typeof’

錯誤提示缺少')';

修改方法:
__asm__/__inline__/__typeof__
就可以解決該問題;
或者在gcc的編譯參數中去掉std=c99編譯選項,改成-std=gnu99.
最后編譯通過。

個人總結:為什么大佬可以解決這種問題,但是自己卻解決不了,一個是經驗問題,還有一個更重要的就是對數據的敏感度,出現這個問題我一直盯着error看,但其實真正原因是圈紅線的地方導致后面出現錯誤,所以距離一個優秀的程序員任重而道遠,唯有總結經驗,砥礪前行,學習大佬們的思維模式,對任何數據都保持懷疑態度,才會在這條路上越走越遠!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM