系统报错

[复制链接]
1367|12
 楼主| ousj 发表于 2017-11-4 11:26 | 显示全部楼层 |阅读模式
我要调用math.h中的反正切函数atan2(),我在前面加#include <math.h>

  然后能使用 a=atan2(23,23);
  可以正常调用。

  但是如果我定义变量int x ,y;

   然后调用 a=atan2(y,x);

另外:我在psoc3中就不会出现这个问题

系统就报错
morrisk 发表于 2017-11-4 11:29 | 显示全部楼层

报什么错
 楼主| ousj 发表于 2017-11-4 11:31 | 显示全部楼层
undefined reference to `atan2'
zyf部长 发表于 2017-11-4 11:39 | 显示全部楼层

你希望调用什么
 楼主| ousj 发表于 2017-11-4 11:41 | 显示全部楼层
  M_A=atan2((double)y,(double)x)*(180/3.14159265)+180;
xxmmi 发表于 2017-11-4 11:43 | 显示全部楼层
对于 PSoC4/PSoC5 LP 的工程, Creator 默认是不加载 math 库的
kangzj 发表于 2017-11-4 11:45 | 显示全部楼层

对,如果需要调用 math 库里面的函数,需要在 Creator 里面做设置
 楼主| ousj 发表于 2017-11-4 11:46 | 显示全部楼层

怎么设置
kangzj 发表于 2017-11-4 11:49 | 显示全部楼层
打开工程, 点击 Project -> Build Settings -> Linker -> General -> Additional Libraries. 在 “ Additional Libraries“ 文本框里面添加 ”m“. 然后确定,保存就可以了。
zwll 发表于 2017-11-4 11:51 | 显示全部楼层

我也遇到了这样的问题
chuxh 发表于 2017-11-4 11:52 | 显示全部楼层

你是什么现象
zwll 发表于 2017-11-4 11:56 | 显示全部楼层

我查看了寄存器数据没有出错,但是angle=atan2((double)y,(double)x) * (180 / 3.14159265)+180;计算最后的值错误
 楼主| ousj 发表于 2017-11-4 11:57 | 显示全部楼层
哦,我看下,多谢了啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

712

主题

7557

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部