Linux C/C++編譯過程中的各種not declared in this scope


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


免責聲明!

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



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