$ make
[ 4%] Linking C executable Release/extract
/usr/bin/ld: CMakeFiles/extract.dir/generated/Core1.c.o:(.bss+0x0): multiple definition of `idx'; CMakeFiles/extract.dir/generated/Core0.c.o:(.bss+0x0): first defined here
/usr/bin/ld: CMakeFiles/extract.dir/generated/Core2.c.o:(.bss+0x0): multiple definition of `idx'; CMakeFiles/extract.dir/generated/Core0.c.o:(.bss+0x0): first defined here
/usr/bin/ld: CMakeFiles/extract.dir/generated/Core3.c.o:(.bss+0x0): multiple definition of `idx'; CMakeFiles/extract.dir/generated/Core0.c.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/extract.dir/build.make:433: Release/extract] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/extract.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
This can be fixed by manually changing the name of the idx variables to idx0, idx1 etc; alternatively, make these variables static.
This can be fixed by manually changing the name of the
idxvariables toidx0,idx1etc; alternatively, make these variablesstatic.