Do not initialize with extern in header file.
>mingw32-g++ -Wall -O3 -o array_counter.o -c array_counter.cpp In file included from array_counter.cpp:5:0: array_counter.h:14:14: warning: 'char_line_end' initialized and declared 'extern' extern char* char_line_end = (char*) "\r\n"; ^~~~~~~~~~~~~ array_counter.cpp:7:7: error: redefinition of 'char* char_line_end' char* char_line_end = (char*)"\r\n"; ===array_counter.cpp === char* char_line_end = (char*)"\r\n"; === array_counter.h === // Here, we must use the below at 20190304. // extern char* char_line_end; extern char* char_line_end = (char*) "\r\n";