предупреждение компиляции minGW для каждого g ++ - PullRequest
0 голосов
/ 19 февраля 2012

Я попробовал гуглить, но не повезло, может быть, кто-то сталкивался с этим

Я использую MinGW на 32-битной машине с Windows 7 (не уверен насчет версии MinGW, но версия g ++ - g ++ (GCC)) 4.6.1)

Я получаю следующее предупреждение для КАЖДОЙ строки компиляции:

command-line:0:16: warning: missing whitespace after the macro name

пример для строки компиляции:

g++ -c "-D__XXX_WINDOWS__;" -g -Wall -o "XXX.o" -Isrc "src/YYY.cpp"

1 Ответ

4 голосов
/ 19 февраля 2012

Проблема в том, что ; в конце вашего -D переключателя.

Команда, которую вы даете, по сути эквивалентна наличию:

#define foo;

на вашем устройстве.источник.Это определяет от foo до ;, но это не является допустимым C99 (и может быть опечаткой).§6.10.3 / 3 из C99 draft n1124:

Между идентификатором и списком замещения в определении объектоподобного макроса должен быть пробел.

Таким образом, компилятор предупреждает вас или выдает ошибку, если вы компилируете с -std=c99.

(Вы, вероятно, тоже можете удалить кавычки после удаления точки с запятой.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...