## undefined reference to 'srand'
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 <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[n];
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](http://stackoverflow.com/questions/27186706/spin-verification-undefined-reference-to-random-and-srandom)
这与android不挨着,但也帮了我。
- 前言
- Android问题集锦转载之一
- Android问题集锦之一
- Android问题集锦之二
- Android问题集锦之三
- Android问题集锦转载之二
- Android问题集锦转载之三
- Android问题集锦之四
- Android问题集锦转载之四
- Android问题集锦转载之五
- Android问题集锦之六
- Android问题集锦之七
- Android问题集锦之八
- Android问题集锦之九
- Android问题集锦之十
- Android问题集锦之十一
- android问题集锦之十二
- Android问题集锦转载之六
- Android问题集锦之十三
- Android问题集锦之十四
- Android问题集锦转载之七
- Android问题集锦之十五
- Android问题集锦转载之八
- Android问题集锦之十六
- Android问题集锦之十七
- android问题集锦之十八
- Android环境问题集锦之十九
- Android问题集锦之二十
- Android问题集锦之二十一
- Android问题集锦之二十二
- Android问题集锦之二十三
- Android问题集锦之二十四
- Android问题集锦之二十五
- Android问题集锦之二十六
- Android问题集锦之二十七
- Android问题集锦之二十八
- Android问题集锦之二十九
- Android问题集锦之三十
- Android问题集锦之三十一
- Android问题集锦之三十二
- Android问题集锦之三十三
- Android问题集锦之三十四
- Android问题集锦之三十五
- Android问题集锦之三十六
- Android问题集锦之三十七
- Android问题集锦之三十八
- Android问题集锦之三十九
- Android问题集锦之四十
- Android问题集锦之四十一
- Android问题集锦之四十二
- Android问题集锦之四十三
- Android问题集锦之四十四
- Android问题集锦之四十五
- Android问题集锦之四十六