iOS:sin()未找到架构i386的符号
问题描述:
我试图在iPhone(模拟器)应用程序中使用math.h中的sin(),cos(),tan()。iOS:sin()未找到架构i386的符号
我需要改变什么才能获得标准的C数学库函数链接?
我从.cpp文件拨打电话。
例如
#include <math.h>
..
float f = tan(p1);
连接器输出:
"tan(float)", referenced from:
GetTan(float) in myfuncs.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我缺少一个必要的框架?
答
在某些环境中,您需要明确链接libm
才能获得先验数学函数,因此请尝试将-lm
添加到链接器标志。
这只是将“-lm”或“lm”添加到“其他链接器标志”的问题吗? – SparkyNZ
是的,这可能是Xcode中最好的方法。 –
优秀 - cosf(),sinf()等工作良好。这是跨平台的代码,所以我会抛出一个#define宏来将iOS版本更改为sinf()等。 – SparkyNZ