打印

系统报错

[复制链接]
741|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 | 只看该作者

你希望调用什么

使用特权

评论回复
5
ousj|  楼主 | 2017-11-4 11:41 | 只看该作者
  M_A=atan2((double)y,(double)x)*(180/3.14159265)+180;

使用特权

评论回复
6
xxmmi| | 2017-11-4 11:43 | 只看该作者
对于 PSoC4/PSoC5 LP 的工程, Creator 默认是不加载 math 库的

使用特权

评论回复
7
kangzj| | 2017-11-4 11:45 | 只看该作者

对,如果需要调用 math 库里面的函数,需要在 Creator 里面做设置

使用特权

评论回复
8
ousj|  楼主 | 2017-11-4 11:46 | 只看该作者

怎么设置

使用特权

评论回复
9
kangzj| | 2017-11-4 11:49 | 只看该作者
打开工程, 点击 Project -> Build Settings -> Linker -> General -> Additional Libraries. 在 “ Additional Libraries“ 文本框里面添加 ”m“. 然后确定,保存就可以了。

使用特权

评论回复
10
zwll| | 2017-11-4 11:51 | 只看该作者

我也遇到了这样的问题

使用特权

评论回复
11
chuxh| | 2017-11-4 11:52 | 只看该作者

你是什么现象

使用特权

评论回复
12
zwll| | 2017-11-4 11:56 | 只看该作者

我查看了寄存器数据没有出错,但是angle=atan2((double)y,(double)x) * (180 / 3.14159265)+180;计算最后的值错误

使用特权

评论回复
13
ousj|  楼主 | 2017-11-4 11:57 | 只看该作者
哦,我看下,多谢了啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

712

主题

7557

帖子

1

粉丝