为了理解头文件中的全局变量,我编写了以下程序。
main.cpp:
#include "header.hpp"
#include <iostream>
int main()
{
std::cout << global_x << std::endl;
}
source.cpp:
#include "header.hpp"
int global_x = 5;
header.hpp:
#ifndef HEADER_H
#define HEADER_H
extern int global_x;
#endif
这个想法是我可以在global_x
中访问main()
。
但是,当我尝试使用gcc main.cpp -lstdc++
编译main.cpp时,得到了“对global_x的未定义引用”错误。我在做什么错了?