Linux C/C++編譯時經常會"XXX was not declared in this scope"
原因可能是以下幾種:
- 變量名或函數名寫錯了;
- 忘記定義了
- 沒有成功鏈接到靜態庫或動態庫;
- include頭文件時出現了錯誤
以往經驗:
1.有時變量名寫錯時,明知道位置也看不出的時候也不在少數;
原因有可能是大小寫不一致,拼寫的前后順序不對等;
2.有多個文件的時候最好寫makefile,直接用g++命令有可能會漏掉".c或.cpp"文件,導致出現問題。
3.找不到動態庫或靜態庫,或者是靜態庫和動態庫與頭文件不匹配。
4.唯一一次遇到這個問題是集成json的時候,在include時,不論-I到哪個目錄,直接寫#include <json.h>都不行,寫#include <json/json.h>就可以。