完整报错:
/usr/bin/ld: XXX.o:(.data+0x0): multiple definition of DetectClassNameEnumLen'; mainwindow.o:(.data+0x0): first defined here
/usr/bin/ld: XXX.o:(.data+0x0): multiple definition of DetectClassNameEnumLen'; mainwindow.o:(.data+0x0): first defined here
/usr/bin/ld: XXX.o:(.data+0x8): multiple definition of DetectClassNameEnumLen'; mainwindow.o:(.data+0x0): first defined here
collect2: error: ld returned 1 exit status
原因:
DetectClassNameEnumLen 定义所在的文件,被多个地方调用。导致多次定义。
解决办法:
将
int DetectClassNameEnumLen = 2;
改为
const int DetectClassNameEnumLen = 2;