Qt 编译出现报错:multiple definition of something
解决方法:
- 由于多次引入头文件导致, 注意在*.h文件中使用头文件保护措施
// file : header.h
#ifndef __HEADER_H_
#define __HEADER_H_
// file body
#endif
- *.pro文件中HEADERS+=或者是SOURCES+=了相同的文件, 将相同的文件去重即可
# 例子
SOURCES += \
src1.cpp \
src2.cpp \
src1.cpp \ # src1.cpp重复
- 在一个.h文件中同时做类的声明与定义也有可能导致此问题, 在每个函数前加inline可以解决问题, 使用inline关键字防止重定义(multi-definition)