【发布时间】:2020-05-06 15:51:03
【问题描述】:
我有三个库:
第一个(Lib.h)声明了一个将在别处定义的变量:
extern int a;
第二个(Lib2.h)包含第三个:
#include "Lib3.h"
这个库 (Lib2.cpp) 的 .cpp 文件除此之外什么都没有:
#include "Lib2.h"
第三个(Lib3.h)最后包含了变量的定义:
int a;
主程序只包含第一个和第二个库:
#include "Lib.h"
#include "Lib2.h"
当我编译主程序时,我得到了提到的错误。
这里有什么问题?
【问题讨论】:
-
你需要在cpp文件中定义变量,而不是头文件。
-
为什么你的变量在头文件中?
-
所以我应该制作一个 Lib3.cpp 文件并将行放在那里?
-
是的。除非您正在处理模板,或者您使用
inline关键字,否则所有定义都应该在 cpp 文件中。