undefined reference to ceil 链接错误

2023-11-20

undefined reference to ceil 链接错误

原因今天编译一个C文件,输入下面的代码后

GOP12.c文件代码大致为

  1. #include<stdio.h>  
  2. #include<stdlib.h>  
  3. #include<math.h>  
  4. int main(int argc,char *argv[])  
  5. {  
  6.     //某个地方用到了数学函数  
  7. }  
 

GCC编译该文件

  1. gcc  -o gop12 GOP12.c  

出现错误

/tmp/ccGjWwZ6.o: In function `main':
GOP12.c:(.text+0x346): undefined reference to `ceil'
GOP12.c:(.text+0x3d4): undefined reference to `ceil'
GOP12.c:(.text+0x555): undefined reference to `ceil'
GOP12.c:(.text+0x617): undefined reference to `ceil'
GOP12.c:(.text+0x6d9): undefined reference to `ceil'
/tmp/ccGjWwZ6.o:GOP12.c:(.text+0x991): more undefined references to `ceil' follow
collect2: ld returned 1 exit status

查了很久才从这个博客中找到原因在此对博客主表示衷心的感谢:http://chongchong.blog.edu.cn/2007/216174.html

我使用的是ubuntu 10.04 + gcc4.43

由于在gcc新的版本中GCC把C99中的标准库分成了libc和libm两个部分,libm中包括一些数学库<math.h>等(我这里使用了ceil()这个函数),所以如果要使用libm时则必须加上编译选项-lm(即link libm),不然会报错。

更正一下编译 命令为

  1. gcc -lm -o gop12 GOP12.c  

编译成功。

总结:凡是用到特殊的库时,应该在编译命令中加入相应的链接参数。gcc版本老是变,也带来了不小的麻烦~~~



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

undefined reference to ceil 链接错误 的相关文章

随机推荐

  • 多处理器编程的艺术(二)-并行程序设计

    当处理器的性能的发展受到各方面因素的限制的时候 计算机产业开始用多处理器结构实现并行计算来提高计算的效率 我们使用多处理器共享存储器的方式实现了多处理器编程 也就是多核编程 当然在这样的系统结构下我们面临着各种各样的挑战 例如如何协调各个处
  • 十四、java版 SpringCloud分布式微服务云架构之Java String 类

    Java String 类 字符串广泛应用 在 Java 编程中 在 Java 中字符串属于对象 Java 提供了 String 类来创建和操作字符串 创建字符串 创建字符串最简单的方式如下 String str xxx 在代码中遇到字符串
  • STM32串口中断、DMA接收的几点注意地方

    STM32串口中断 DMA接收的几点注意地方 https tieba baidu com p 5978431198 red tag 1717231177 traceid 这个文章棒 今天写点大家常问 也是常见的关于UART串口的内容 这几点
  • Ubuntu 18.04安装教程(转)

    https blog csdn net qq 39478237 article details 83084515 参考这个播客安装
  • LAB1实验

    Part 1 遇到问题1 我将JOS放在Windows的目录下 通过VMware设置共享该文件夹来编译JOS 但是Windows更改linux下设置的权限 导致GDB无法调试QEMU 解决方法 将JOS放在虚拟机下的linux的目录下 20
  • Activiti6.0学习实践(5)-activiti流程引擎配置二

    本节继续对activiti流程引擎的配置进行学习 1 EventLog配置 1 1 配置EventLog 首先在activiti eventlog cfg xml中配置eventlog属性为true 1 1 1测试代码 编写一个eventl
  • 推荐111个软件工程本科的计算机毕业设计,有手就会

    对于即将挑战计算机专业毕业设计的学子们 是否已经为选题和项目感到焦虑 今天 我们为即将毕业的学生提供了大量的毕业设计项目 期望对于正在为毕业设计挠头的同学们有所助益 一 成品列表 以下所有springboot框架项目的源码博主已经打包好上传
  • Redis介绍、安装、基础命令

    目录 引言 一 关系数据库和非关系数据库 1 1 关系型数据库 1 2 非关系型数据库 1 3 关系型数据库与非关系型数据库区别 数据存储方式不同 扩展方式不同 对事务性的支持不同 非关系型数据库产生背景 二 Redis简介 2 1 Red
  • 网站打开速度缓慢的原因都有哪些?

    在进行站点优化时 很多站长会发现我们的网站有时运行速度很快 有时运行速度很慢 严重影响了用户体验 因此 有必要理解为什么网站变得很慢 如今 可以帮助你了解为什么我们的网站会慢下来 1 网页的大小 网页加载速度与网页大小直接相关 站点的代码文
  • 2023 最新版IntelliJ IDEA 2023.1创建Java Web 项目详细步骤(图文详解)

    前言 本篇文章仅作为刚开始使用 IntelliJ IDEA 2023 1 创建一个简单的web项目的开发人员 只是作为入门使用 目前很多都是使用spring boot框架来搭建Java的web项目 但是spring boot的最新版本目前
  • C#System.ArgumentException

    C 自定义控件GDI绘制在主程序报错System ArgumentException 我的绘制图片内容大概如下 private Bitmap backGroundImage null private Bitmap prospectImage
  • Java 6-1 项目模块化-概念

    6 1 项目模块化 概念 一 组件化与模块化 组件化 以功能为依据 解决复用问题 初衷 可复用的代码 进行工具性的封装 目的 复用 解耦 依赖 各组件之间独立 低依赖甚至零依赖 架构 纵向 位于项目底层 被其他上层依赖 举例 Dialog
  • 完全数

    my0163 完全数 HOBO浩 描述 求正整数 2 和 n 之间的完全数 一行一个数 完全数 因子之和等于它本身的自然数 如 6 1 2 3 输入 输入n 1 n 5000 输出 一行一个数 按由小到大的顺序 输入样例 7 输出样例 6
  • 自学网络安全(黑客)的误区

    前言 网络安全入门到底是先学编程还是先学计算机基础 这是一个争议比较大的问题 有的人会建议先学编程 而有的人会建议先学计算机基础 其实这都是要学的 而且这些对学习网络安全来说非常重要 一 网络安全学习的误区 1 不要试图以编程为基础去学习网
  • java 二阶段提交,二阶段提交协议(Two Phase Commitment Protocol)

    一 典型的分布式事务实例 跨行转账问题是一个典型的分布式事务 用户A向B的一个转账1000 要进行A的余额 1000 B的余额 1000 显然必须保证这两个操作的事务性 类似的还有 电商系统中 当有用户下单后 除了在订单表插入记 还要在商品
  • mysql数据库常用sql语句

    数据库可以用图形化工具来实现一系列操作 这里涉及一些cmd命令行 首先要配置好环境变量可以全局操作命令 不然只能在mysql的安装目录下进行操作 这里不再叙述 1 进入数据库 mysql u root p 默认用户名为root 这个与mys
  • Flutter 中的单元测试:从工作流基础到复杂场景

    对 Flutter 的兴趣空前高涨 而且早就应该出现了 Google 的开源 SDK 与 Android iOS macOS Web Windows 和 Linux 兼容 单个 Flutter 代码库支持所有这些 单元测试有助于交付一致且可
  • 3种方法更改Linux系统的主机名(hostname)

    3种方法更改Linux系统的主机名 hostname
  • type-aliases-package的作用

    mapper xml文件中resultType或者parameterType会使用JavaBean作为返回结果或者参数需要使用完全限定名来指定引用 例如
  • undefined reference to ceil 链接错误

    undefined reference to ceil 链接错误 原因今天编译一个C文件 输入下面的代码后 GOP12 c文件代码大致为 include