Android问题集锦之四十五:undefined reference to 'srand'
2015-11-02 22:00
846 查看
ndk 10b~10e在编译使用C随机数函数srand和rand时没有问题,
可是程序运行时就报类似下面的错误:
这让我百思不得其解。
我先后做了如下尝试:
1、有网友说我的ndk版本太低了,要用高一些的。
我就将原来使用的10b换成了10e,结果还是不行。
2、有网友说要将交叉编译器换成高版本的,我更新了,结果还是不行。
3、有网友说不要用64位的ndk,要用32位的。我又新下载了32位的10e,还是不行。
就在我崩溃的要放弃的时候,国外网友提到了stdlib.h,好像昨天就有看到这个头文件的问题。
我试着加入这个头文件,再编译运行,通过了!
这可能是bionic库做的调整吧,与原C标准库有些差异。不过既然没问题了,还是值得高兴一下!
参考:
http://stackoverflow.com/questions/27186706/spin-verification-undefined-reference-to-random-and-srandom
这与android不挨着,但也帮了我。
可是程序运行时就报类似下面的错误:
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 <stdlib.h> #include <stdio.h> void bubble_sort(int *array,int n) { int i,j,tmp; for(i=0;i<n-1;i++) { for(j=n-1;j>i;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 ; srand(time(NULL)); for(i=0;i<n;i++) { array[i] = rand()%100+1; printf("%d, ",array[i]); } printf("\n"); bubble_sort(array,n); return array[0]; }
参考:
http://stackoverflow.com/questions/27186706/spin-verification-undefined-reference-to-random-and-srandom
这与android不挨着,但也帮了我。
相关文章推荐
- mysql中RAND()随便查询记录效率问题和解决办法分享
- PHP中函数rand和mt_rand的区别比较
- MySQL Order By Rand()效率分析
- MySQL中的RAND()函数使用详解
- MySQL优化之对RAND()的优化方法
- Rand函数使用
- mysql插入随机日期
- srand((unsigned)(time(NULL)))的用法
- PHP_rand()函数_随机组合生日祝福语
- srand函数简介及用法
- 个人对rand()、srand()函数之间的关系及其内部实现原理的猜测
- C语言ran()伪随机数破解
- C语言产生随机数
- C/C++:rand()的用法
- C语言如何产生一个随机数,rand函数的使用
- MATLAB 对矩阵做均值运算
- php函数
- C语言生成随机数
- RAID原理及软RAID的实现方式
- 【C++】srand及rand函数