Как включить фреймворк Accelerate с i686-apple-darwin11-llvm-g++-4.2?

Я пытаюсь использовать структуру Accelerate. в небольшой программе на C++. Я даже не использую XCode, только простой Makefile.

Компилятор ругается, когда я добавляю в свой код следующую строку:

#include <Accelerate/Accelerate.h>

Ошибка следующая:

In file included from /System/Library/Frameworks/vecLib.framework/Headers/vecLib.h:41,
                 from /System/Library/Frameworks/Accelerate.framework/Headers/Accelerate.h:20,
                 from Diana.cpp:20:
/System/Library/Frameworks/vecLib.framework/Headers/vDSP.h:9008: error: expected identifier before numeric constant
/System/Library/Frameworks/vecLib.framework/Headers/vDSP.h:9008: error: expected `}' before numeric constant
/System/Library/Frameworks/vecLib.framework/Headers/vDSP.h:9008: error: expected unqualified-id before numeric constant
/System/Library/Frameworks/vecLib.framework/Headers/vDSP.h:9028: error: expected declaration before ‘}’ token

Я использую компилятор i686-apple-darwin11-llvm-g++-4.2, который является gcc 4.2.1, и строка, которую я использую для компиляции (не для компоновки):

i686-apple-darwin11-llvm-g++-4.2 -D__MACOSX_CORE__ -c -o Diana.o Diana.cpp

Должен ли я добавить некоторые дополнительные флаги при компиляции этого? Я попытался добавить «-framework Accelerate», но это ничего не меняет, так как это должно быть включено только в процесс связывания (правильно ли я?).

Я гуглил некоторые из этих сообщений об ошибках и ничего не нашел.

Буду очень признателен за любую помощь. Спасибо!

PS: Моя версия OS X — Lion 10.7.5, а XCode — 4.4.1.


person Oriol Nieto    schedule 13.12.2012    source источник


Ответы (1)


Я понял это: я проверил, что было в строке 9008 vDSP.h, и проблема заключалась в том, что я объявлял константу FFT_FORWARD перед включением Accelerate.h.

Фиксированный!

person Oriol Nieto    schedule 13.12.2012