编译NDK项目的时候,当用到sinf的时候,编译报错:

选中sinf函数,右键Go to declaration, 发现math.h的文件路径是:

c:\ProgramData\Microsoft\AndroidNDK64\android-ndk-r13b\platforms\android-21\arch-arm64\usr\include\math.h

试了很多种方法,包括在library dependencies中加入libm,libc,还是不能解决,后来找到了这篇文章:

http://www.linuxidc.com/Linux/2010-12/30317.htm

Linux下Eclipse编译带有math.h库的项目

[日期:2010-12-05]

来源:Linux社区  作者:huangyif

[字体:大 中 小]

Linux下
,如果程序包含 math.h ,在gcc时必须加入 lm 例如:gcc -o main.o main.c -lm
但是在eclipse下面
编译,项目回自动生成makefile ,无论如何手动修改makefile,在编译的时候也会被eclipse修改成原来的样子。
这个lm的设置方法如下:  【LINUX公社 www.LinuxIDC.com 】

选择"project">
"propertise">
"C/C++ Build">
C/C++ Build的下拉菜单"Settings"选项>
Settings的"Tool Settings"选项卡>
Tool Settings选项卡下的"GCC CLlinker"选项>
GCC C Linker选项下的"Libraries"选项

这时,只需要在"Libraries(-l)"里面添加一个"m",这时eclipse就会在它自动生存的makefile里面生成gcc的-lm参数,这时make项目的时候
,math.h库里面的数学函数就不回提示找不到了。

 

然后在 LibraryDependencies中加入m。

再编译,就没有错误了。

Andriod NDK编译的时候无法使用math.h的函数。的更多相关文章

  1. iOS math.h数学函数

    在实际工作中有些程序不可避免的需要使用数学函数进行计算,比如地图程序的地理坐标到地图坐标的变换.Objective-C做为ANSI C的扩展,使用C标准库头文件<math.h>中定义的数学 ...

  2. ndk编译出来的executable动态库入口函数的参数错乱

    早些时间用ndk编译带main入口函数的动态库,测试可运行.今天要作它用时,发现在这个入口函数并没有传入正确的参数. hello.cpp有main函数,用ndk分别编译成可执行文件和动态库文件,使两者 ...

  3. Standard C 之 math.h和float.h

    对于C Standard Library 可以参考:http://www.acm.uiuc.edu/webmonkeys/book/c_guide/ 或者 http://www.cplusplus.c ...

  4. Ubuntu下编译c文件时,遇到math.h头文件不能编译问题

    以前都是在VC或者VS中编写c语言程序,今天尝试在Ubuntu下试着编写了一个简单的画正弦函数的程序,用到了头文件math.h,但是编译的时候报错了: 经查资料后才知道,数学函数位于libm.so库文 ...

  5. 使用ndk编译c可执行程序

    1.创建工程目录  在ubuntu系统下搭建好ndk编译环境,创建test目录 mkdir test 在test目录下创建jni目录 cd test mkdir jni 2.编写源代码 vim hel ...

  6. linux下编译时,链接math库

    在gcc下用到数学函数,如sqrt.在gcc时要加上 -lm 参数,这样告诉编译器我要用到数学函数了 . 如:gcc a.c -o a -lm 当在用Eclipse编译使用数学函数的C语言程序时,如s ...

  7. [原]如何用Android NDK编译FFmpeg

    我们知道在Ubuntu下直接编译FFmpeg是很简单的,主要是先执行./configure,接着执行make命令来编译,完了紧接着执行make install执行安装.那么如何使用Android的ND ...

  8. ffmpeg2.2在ubuntu下使用NDK编译——并在android工程下测试使用

    作者:wainiwann 出处:http://www.cnblogs.com/wainiwann/ 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则 ...

  9. NDK 编译可执行程序

    以Hello Android工程为例. 建立好工程hello-a,在jni目录下创建文件hello-a.c,文件内容如下.(注意是jni目录,使用src目录编译会出错) #include <st ...

随机推荐

  1. Ubuntu Java7 SDK环境变量配置(转)

    1.去甲骨文官网下载java7 sdk http://www.oracle.com/technetwork/java/javase/downloads/index.html 这里笔者下载了最新的jav ...

  2. 我来科普一下为毛很多人升级了20M的电信光纤宽带反而感觉速度更卡了

    下载(在线看视频,看网页,下载游戏这类都是属于下载类应用) 为毛很多人升级20M光纤更慢了呢? 因为电信对你的上传速度做了手脚, 8M以及以上家用光纤宽带全部上传限速到100KB/s  也就是1M带宽 ...

  3. VB.NET中Module的概念

    今天学习VB.NET,发现VB.NET里面有一个Module的东西,如下图(图-1)所示: 图-1 上网查了一下VB.NET里面的Module,才发现这是学习VB.NET遇到的第一个典型的问题就是:为 ...

  4. MySQL5.6的my.ini配置

    下面这个配置在现网服务器上跑了两年了,里面多项参数都有调整过,这个算是最终的一个配置,这个配置不一定适合每种项目,仅供参考. 如果MySQL出现异常:Out of memory 需要修改这几个参数: ...

  5. 高速排序C++实现

    //高速排序 #include<iostream> #include<functional> #include<Windows.h> using namespace ...

  6. 在Visual Studio中使用用例图描述系统与参与者间的关系

    "用例图"用来描述谁用系统,用系统做什么.用例图不涉及使用细节,只用来描述使用人员和系统的关系,也不涉及行动的顺序.一起来体验. 使用Visual Studio 2012创建解决方 ...

  7. android:activity活动的生命周期

    掌握活动的生命周期对任何 Android 开发者来说都非常重要,当你深入理解活动的生命 周期之后,就可以写出更加连贯流畅的程序,并在如何合理管理应用资源方面,你会发挥的 游刃有余.你的应用程序将会拥有 ...

  8. [转]浅论ViewController的加载 -- 解决 viewDidLoad 被提前加载的问题(pushViewController 前执行)

    一个ViewController,一般通过init或initWithNibName来加载.二者没有什么不同,init最终还是要调用initWithNibName方法(除非这个ViewControlle ...

  9. View Programming Guide for iOS_读书笔记[正在更新……]

    原文:View Programming Guide for iOS 1 Introduction 先熟悉一下基本概念. Window Windows do not have any visible c ...

  10. 高通与MTK瓜分天下?手机处理器品牌分析

    http://mobile.pconline.com.cn/337/3379352.html [PConline 杂谈]如果你向朋友请教买一台怎样的台式机或者笔记本的话,很多时候那朋友会根据你对电脑的 ...