Android问题集锦之四十五:undefined reference to #39;srand#39;

ndk 10b~10e在编译使用C随机数函数srand和rand时没有问题,
可是程序运行时就报类似下面的错误:

 error: undefined reference to 'srand'
 error: undefined reference to 'rand'

这让我百思不得其解。
我先后做了如下尝试:
1、有网友说我的ndk版本太低了,要用高一些的。
我就将原来使用的10b换成了10e,结果还是不行。
2、有网友说要将交叉编译器换成高版本的,我更新了,结果还是不行。
3、有网友说不要用64位的ndk,要用32位的。我又新下载了32位的10e,还是不行。

就在我崩溃的要放弃的时候,国外网友提到了stdlib.h,好像昨天就有看到这个头文件的问题。
我试着加入这个头文件,再编译运行,通过了!

这可能是bionic库做的调整吧,与原C标准库有些差异。不过既然没问题了,还是值得高兴一下!

#include shooter.h
#include 
#include 

void bubble_sort(int *array,int n) {
    int i,j,tmp;
    for(i=0;ii;j--) {
            if(array[j-1]>array[j]) {
                tmp = array[j-1];
                array[j-1]=array[j];
                array[j]=tmp;
            }
        }
    }
}

int A(int a) {
    int n = 10;
    int i;
    int array[n];

    srand(time(NULL));
    for(i=0;i

 

更多相关文章
  • 关于身份证验证这一点做到身份证的编码有效性,只有是否真实存在,就算有国家居民身份证数据库也不见的真的符合事实,毕竟一人多证,或者有人无证的基本现象是存在的. 做项目中有用到用户身份证验证,那么尽最大努力使用户输入的身份证接近事实,当然只是接近.如果要真极度达到身份证确实真是有效,使用国家居民身份证数 ...
  • 央广网北京8月5日消息 据经济之声<天天315>报道,消费者购买使用苹果手机的过程中遭遇到的各种问题层出不穷,苹果公司对问题的解决办法也是花样翻新,但是,最终能够得到消费者认可的却不是很多.我们<天天315>节目曾经多次报道消费者对苹果手机的各种投诉,但是始终没有获得苹果公司 ...
  • 通过接口整合的方式,LBS(Location-Based Services,基于地理位置的服务)悄然绕过为用户数量瓶颈和提高用户粘性争夺不休的SNS.微博.团购网站,开辟了一片全新蓝海.越来越多的人开始通过第三方地理位置服务共享自己的位置,LBS正在成为微博之后最热门的应用.然而,LBS市场虽然蕴含 ...
  • System Center 2012 R2 UR7升级来了,包含以下组件升级包,点击一下不同章节,可以看到升级方案 3065246 Update Rollup 7 for System Center 2012 R2 Data Protection Manager 3069115 Update Rol ...
  •   当Fedora 9在下个月发布时,第一次有 Linux发行版提供了基于内核的设置模式,这应该是终端用户特别需要关注的功能. 基于Kernel的配置模式提供了一个flicker-free的启动进程,一个更快和更可靠的VT switching ,一个Linux BSOD,以及最让人感兴趣的有很多改进 ...
  • 微软全新操作系统 Windows 10 已经正式发布,并面向全球 190 个市场推送升级.Windows 10 发布并不只是 Windows 用户自己的一场狂欢,同时也是 Mac 用户的狂欢.别嘲笑,据称有 1/3 的 Mac 安装的是 Windows 系统.系统这样的东西,是给人用的,自己用的顺手 ...
一周排行