Ошибка компоновщика Mach-O Повторяющийся символ _INIT_NAME в - PullRequest
0 голосов
/ 27 марта 2012

В моем проекте есть несколько констант, которые я хочу импортировать в пару файлов классов. И когда я добавляю оператор импорта к одному, я получаю эту ошибку. Я слышал это, потому что я импортировал его дважды или что-то, но я не вижу, где и как. Есть ли хороший способ найти ошибку?

Definitions.h:

const char INIT_NAME = 'A';
const char INIT_ME = 'B';
const char INIT_PLAYER = 'C';
const char ROUND_DATA = 'D';
const char SERVER_IS_FULL = 'E';
const char START_GAME = 'F';
const char START_COUNTDOWN = 'G';
const char READY_1 = 'H';
const char READY_2 = 'I';
const char DROP_PLAYER = 'J';
const char INITIATE_NEW_ROUND = 'K';

const char RIGHT_TURN = 'L';
const char LEFT_TURN = 'M';
const char STOP_TURN = 'N';
const char KILL_PLAYER = 'O';

DataCoder.h

#import "Definitions.h"

client.h

#import "DataCoder.h"

server.h

#import "DataCoder.h"

Когда я добавляю импорт в datacoder.h, я получаю сообщение об ошибке. Пожалуйста помоги!

1 Ответ

1 голос
/ 27 марта 2012

Вам необходимо опубликовать фактическую ошибку.

Кроме того, в заголовочных файлах обычно используется защита заголовков для предотвращения переопределения символов. Например:

#ifndef MY_HEADER_FILE_NAME_H
#define MY_HEADER_FILE_NAME_H

const char INIT_NAME='A';
/* snip */
const char KILL_PLAYER='O';

#endif /* MY_HEADER_FILE_NAME_H */
...