OPENAT中使用数学函数的小Trick

简介: WMP100的开发,真是举步维艰,寸步前行。虽然越来越顺手,但还是不断碰到奇怪的问题。想是想不通的,百度一下,还是不知道的,Google里也冒不了几个泡。就说数学函数在OPEN AT中的使用,就让我很是郁闷了一阵。

       WMP100的开发,真是举步维艰,寸步前行。虽然越来越顺手,但还是不断碰到奇怪的问题。想是想不通的,百度一下,还是不知道的,Google里也冒不了几个泡。就说数学函数在OPEN AT中的使用,就让我很是郁闷了一阵。好在今天终于解决了,在这里留个记号。当然最好是WAVECOM能出一个关于OPENATFAQ,方面广大开发者参考,不要让这些小问题再成为我们的大麻烦。^_^

       要想在OPENAT的应用程序中使用如sqrt()cos()等数学函数,首先需要包括头文件math.h,但只包括该头文件,编译链接时依然会有警告信息,如下:

       appli.c: In function 'adl_main':

appli.c:88: warning: incompatible implicit declaration of built-in function 'sqrt'

    在网上找了很久,都说是要在链接选项中添加-lm,可就是不知道在什么地方加。开始以为是IDE的问题,于是从Eclipse换成VC6.0,但依然没解决。尝试修改mak文件,也不成功。最后终于在Wavecom的开发论坛中找到了05年的一个老帖子,其中介绍了解决办法。这里针对OPENAT OS6.10.05)做一个更新。

    首先在Open AT Project Wizard设置界面中的“wmnew script additional options”输入

      -inc "C:\OpenAT\IDE\GCC\4.0.1.2\arm-elf\lib",截图如下:

   

    然后打开工程目录下的mak文件(math.mak),找到如下所示代码,

#----------------------------------------------------------------

#   List of libraries real names to use for making binary file

#----------------------------------------------------------------

EXTERNAL_LIB_LIST = \

在后面添加如下代码,

C:/OpenAT/IDE/GCC/4.0.1.2/arm-elf/lib/thumb/interwork/libm.a   \

这样再编译,就不会有问题了。

目录
相关文章
|
5月前
|
存储 缓存 安全
One Trick Per Day
One Trick Per Day
|
6月前
|
存储 Serverless Python
`quad()` 函数是 `scipy.integrate` 模块中的一个函数,用于计算一维函数的数值积分。其基本语法如下:
`quad()` 函数是 `scipy.integrate` 模块中的一个函数,用于计算一维函数的数值积分。其基本语法如下:
|
8月前
|
机器学习/深度学习 Python
R语言在逻辑回归中求R square R方
R语言在逻辑回归中求R square R方
|
8月前
R语言实现偏最小二乘回归法 partial least squares (PLS)回归
R语言实现偏最小二乘回归法 partial least squares (PLS)回归
|
存储 算法 测试技术
【PAT B 1010,1011】一元多项式求导 ,A+B和C
【PAT B 1010,1011】一元多项式求导 ,A+B和C
101 0
|
算法 Python 机器学习/深度学习
Lesson 2. 矩阵运算基础、矩阵求导与最小二乘法-2
Lesson 2. 矩阵运算基础、矩阵求导与最小二乘法-2
|
机器学习/深度学习 Python
Lesson 2. 矩阵运算基础、矩阵求导与最小二乘法-1
Lesson 2. 矩阵运算基础、矩阵求导与最小二乘法-1
|
数据挖掘 Serverless Python
Lagrange、Newton、分段插值法及Python实现
Lagrange、Newton、分段插值法及Python实现
Lagrange、Newton、分段插值法及Python实现
|
机器学习/深度学习 数据挖掘 PyTorch
PyTorch: 张量的变换、数学运算及线性回归
PyTorch: 张量的变换、数学运算及线性回归
126 0
PyTorch: 张量的变换、数学运算及线性回归