同往常一样,打开电脑进入深度系统准备做题,题目要求N!的位数,需要调用数学函数log10,如下所示:
#include<stdio.h> #include<math.h> int main(){ int t,n,i; double s; scanf("%d",&t); while(t--) { scanf("%d", &n); s = 1; if (n == 1) printf("1\n"); else { for (i = 2; i <= n; i++) s += log10(i); printf("%d\n", (int)s); } } return 0; }
1、用gcc编译,包含了math.h,却不能引用数学函数log10。不要紧,换个编译器试试看Tiny C Compiler,可惜不能下载。
2、还是用gcc,先尝试自动更新,使用在线安装命令:
sudo apt-get install gcc
直接安装,得知:gcc 已经是最新版 (4:7.2.0-1d1)。gcc 已设置为手动安装。再次编译,仍然产生“对'log10'未定义的引用”。
3、继续尝试在线安装命令:
sudo apt-get install build-essential
继续执行之后,可以用g++了!编译求N!位数的程序,用g++编译成功,但是用gcc还是出错。
4、要不,访问gcc官网,找到日本镜像站点,找到对应的版本:7.2.0,下载不了;再找其他镜像:俄罗斯镜像站点,版本7.2.0,这里选择下载:gcc-7.2.0.tar.gz,有107M,可以下载;或者到清华大学开源软件镜像站,也能下载。
5、本来计划按步骤进行安装:为你详解Linux安装GCC方法,能configure,但是生成不了Makefile。
6、看来,在configure阶段就有问题没解决:参考centos7自定义安装gcc7.2.0,无法定位软件包,只有继续找到所需的软件包。
7、借鉴Linux下编译安装GCC-7.2.0,在configure阶段又出现问题,提示需要先安装一款m4的软件。
8、手动安装m4, autoconf, automake, libtool,同时更新环境变量:
export PATH=/home/administrator/m4-1.4.13/bin:$PATH
再次配置gmp-6.1.2成功!接下来安装gmp-6.1.2、mpfr-3.1.6、mpc-1.0.3成功!
9、配置gcc-7.2.0如下:
./configure --prefix=/home/administrator/gcc-7.2.0 --enable-threads=posix --disable-checking --enable-languages=c,c++ --disable-multilib --with-gmp=/home/administrator/gmp-6.1.2 --with-mpfr=/home/administrator/mpfr-3.1.6 --with-mpc=/home/administrator/mpc-1.0.3
终于生成了Makefile,可以运行make了,等了三个多小时,仍在编...
10、编完后不要忘记:把gcc-7.2.0中的gcc、g++等命令在/usr/bin目录下分别做一个符号连接。以及后续步骤:Linux下编译安装GCC-7.2.0。
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复