编译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. HDU 4778 Gems Fight! (2013杭州赛区1009题,状态压缩,博弈)

    Gems Fight! Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 327680/327680 K (Java/Others)T ...

  2. 理解 process.initgroups(user, extra_group)

    这个函数是对 linux  C函数 initgroups()  的包装 node.js 官方文档非常含糊,还是看 linux C函数文档的解释!非常清楚明确. The initgroups() fun ...

  3. Xamarin adventures – Differences between iOS simulator and device

    I had been happily coding an iOS app (targeting iPad) using Xamarin/VS.Net with everything working f ...

  4. ansible经常使用模块使用方法

    ansible 默认提供了非常多模块来供我们使用. 在 Linux 中,我们能够通过 ansible-doc -l 命令查看到当前 ansible 都支持哪些模块,通过 ansible-doc  -s ...

  5. 在Visual Studio中使用活动图描述业务流程

    当希望描述某个流程的时候,用活动图表示. 在项目中添加一个名称为"Shopping"的文件夹. 把"Orders Model"这个UML类图拖放到Shoppin ...

  6. Instrument 实用详解

    苹果:Instruments User Guide iPhone Memory Debugging with NSZombie and Instruments 苹果:Mac OS X Debuggin ...

  7. [SQLite][Error Code] 21 misuse

      若使用SQLite API時,出現错误代码21(misuse),可能是你的SQLiteConnection同時打開(Open)了兩個相同的Data source,所造成的错误. 解決方法:检查代码 ...

  8. android 玩转ContentProvider之二--实现多个ContentProvider对多张表进行操作

    SQLite数据库直接操作类: DatabaseHelper.java package com.jacp.database; import android.content.Context; impor ...

  9. SIP SDP Profile-level-id解析

    转自:http://blog.csdn.net/wh8_2011/article/details/53558504 基于SIP协议的VOIP通信,该字段通常位于视频协商sdp报文中,如: video  ...

  10. SharePoint Online 设置网站集

    前言 本文介绍如何在Office 365中设置SharePoint Online网站集,当我们创建好SharePoint Online站点,开始使用之前,一定会有一些基本的设置,本文就为大家介绍这些基 ...