情况 1 :
尽量使 .h 文件只声明,定义写到 .cpp 里, 如果定义也写在 .h 内, 要添加 inline 关键字. 否则, 当此 .h 文件被其它文件包含时, 就会出现 duplicate symbol 编译错误.
情况 2 :
在 Qt Creator里, 有时为了方便,在 pro/pri 里的 HEADERS 和 SOURCES 会设置成 $$PWD/*.h 和 $$PWD/*.cpp,文件多时,pro/pri 里不会密密麻麻的太乱,但每次添加类时,如果选择添加到项目 pro/pri 时,系统不会识别*.*的意思,还是把文件又加了进来,这样变成了新加入的文件会被重复引入,也会出现 duplicate symbol 编译错误. 把系统自动添加的信息删除即可.