2016-03-28 105 views
1

我试图在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) 

我缺少一个必要的框架?

回答

2

在某些环境中,您需要明确链接libm才能获得先验数学函数,因此请尝试将-lm添加到链接器标志。

+0

这只是将“-lm”或“lm”添加到“其他链接器标志”的问题吗? – SparkyNZ

+0

是的,这可能是Xcode中最好的方法。 –

+1

优秀 - cosf(),sinf()等工作良好。这是跨平台的代码,所以我会抛出一个#define宏来将iOS版本更改为sinf()等。 – SparkyNZ

相关问题