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>就可以。