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

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

: undefined reference to ‘rand’

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

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

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

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];}

参考:

这与android不挨着,但也帮了我。

始终调整好自己观风景的心态,

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

相关文章:

你感兴趣的文章:

标签云: