Чего-то я туплю... а может, я вовсе пытаюсь сделать глупую вещь?
Файл utils.h:
const char COMM_SEND[] = "SEND ";
const char COMM_LIST[] = "LIST";
const char COMM_GETM[] = "GETM";
const char COMM_QUIT[] = "QUIT";
В utils.c они используются и... и при линковке сыпятся сообщений о двойных определениях:
obj\Debug\utils.o:utils.c:(.rdata+0x0): multiple definition of `COMM_SEND'
obj\Debug\userlist.o:userlist.c:(.rdata+0x0): first defined here
obj\Debug\utils.o:utils.c:(.rdata+0x6): multiple definition of `COMM_LIST'
obj\Debug\userlist.o:userlist.c:(.rdata+0x6): first defined here
obj\Debug\utils.o:utils.c:(.rdata+0xb): multiple definition of `COMM_GETM'
obj\Debug\userlist.o:userlist.c:(.rdata+0xb): first defined here
obj\Debug\utils.o:utils.c:(.rdata+0x10): multiple definition of `COMM_QUIT'
obj\Debug\userlist.o:userlist.c:(.rdata+0x10): first defined here
obj\Debug\main.o:main.c:(.rdata+0x0): multiple definition of `COMM_SEND'
obj\Debug\userlist.o:userlist.c:(.rdata+0x0): first defined here
obj\Debug\main.o:main.c:(.rdata+0x6): multiple definition of `COMM_LIST'
obj\Debug\userlist.o:userlist.c:(.rdata+0x6): first defined here
obj\Debug\main.o:main.c:(.rdata+0xb): multiple definition of `COMM_GETM'
obj\Debug\userlist.o:userlist.c:(.rdata+0xb): first defined here
obj\Debug\main.o:main.c:(.rdata+0x10): multiple definition of `COMM_QUIT'
obj\Debug\userlist.o:userlist.c:(.rdata+0x10): first defined hereЯ так понимаю, беда в том, что userlist.c тоже подключает utils.h (но ему без этого никак), поэтому и возникает вон то самое. Вопрос — как исправить это дело, чтобы все стало хорошо? Или забить и использовать литералы?