我正在尝试在小型C ++程序上使用Accelerate framework。我什至没有使用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。
最佳答案
我弄清楚了:我检查了vDSP.h的9008行,问题是在包含Accelerate.h之前我声明了FFT_FORWARD常量。
固定!
关于c++ - 如何在i686-apple-darwin11-llvm-g++-4.2中包含Accelerate框架?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13851597/