首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

g++ 編譯報錯 undefined reference to std::cin:缺少 iostream 頭文件或命名空間

     編輯:程式設計疑難解答

常見原因

  1. 未包含 <iostream>:std::cin 定義於此頭文件。
  2. 未使用命名空間:需 using namespace std; 或寫全名 std::cin。
  3. 編譯命令未鏈接標準庫:g++ main.cpp -o main 默認鏈接 libstdc++,通常不需額外 -lstdc++。

最小可編譯範例

// main.cpp
#include <iostream>
int main() {
    int x;
    std::cin >> x;
    std::cout << "You entered: " << x << std::endl;
    return 0;
}
# 編譯
g++ main.cpp -o main -std=c++17
# 執行
./main

排查步驟

  • 確認源碼開頭有 #include <iostream>。
  • 檢查是否誤將 cin 定義為區域變數遮蔽。
  • 嘗試 g++ -v main.cpp 查看鏈接命令是否包含 -lstdc++。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved