Linux C/C++编译时经常会"XXX was not declared in this scope"

原因可能是以下几种:

  1. 变量名或函数名写错了;
  2. 忘记定义了
  3. 没有成功链接到静态库或动态库;
  4. include头文件时出现了错误

以往经验:

1.有时变量名写错时,明知道位置也看不出的时候也不在少数;
原因有可能是大小写不一致,拼写的前后顺序不对等;

2.有多个文件的时候最好写makefile,直接用g++命令有可能会漏掉".c或.cpp"文件,导致出现问题。

3.找不到动态库或静态库,或者是静态库和动态库与头文件不匹配。

4.唯一一次遇到这个问题是集成json的时候,在include时,不论-I到哪个目录,直接写#include <json.h>都不行,写#include <json/json.h>就可以。

posted on 2019-11-06 11:23  步孤天  阅读(8480)  评论(0编辑  收藏  举报