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

Я пытаюсь использовать Ускорение рамок на маленькой программе 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-яблоко-darwin11-LLVM-г ++ — 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.

0

Решение

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

Исправлена!

1

Другие решения

Других решений пока нет …