我在qt编程中单独为全局变量创建了一个头文件和cpp文件,在头文件中声明了一个qmap格式的变量,但是在使用的时候却遇到“无法解析的外部指令”的错误。
提示如下:
mainwindow.obj:-1 : error: LNK2001: 无法解析的外部符号 "class QMap<class QString,struct double_maps>
错误原因:
没有在cpp文件中进行定义,例如:
头文件:
#ifndef GLOBALVARIABLES_H
#define GLOBALVARIABLES_H
#include <QMap>
extern QMap<QString, int> globalMap; // 声明全局变量
#endif // GLOBALVARIABLES_H
源文件:
#include "globalvariables.h"
QMap<QString, int> globalMap; // 定义全局变量
这样就解决了上述问题。