Я пытаюсь скомпилировать некоторый исходный код с помощью Visual C ++ 2010 Express. Код был написан для GCC и содержит такие атрибуты:
struct something {
...
} __attribute__((packed));
Поскольку это не стандартный синтаксис C ++, Visual C ++ его не распознает. С этим макросом до объявления структуры он работает нормально:
#define __attribute__(p)
Но я не хочу изменять файлы. Я создал новый лист свойств (GccCompat), перешел к Определениям препроцессора и добавил макрос, например:
__attribute__(p)
или как это:
__attribute__(p)=
Но это не работает. Это просто не называется. Если я определю просто __attribute__
(без параметров) в том же месте, макрос будет определен правильно. Обратите внимание, что генерируемая командная строка выглядит нормально (макросы с параметрами передаются точно так же, как и без), но компилятор, похоже, игнорирует это. Итак, как я могу глобально определить мой макрос с параметром?