专栏首页章鱼的慢慢技术路在Linux下使用gcc编译mesa文件报undefined reference to symbol 'sin@@GLIBC_2.2.5和DSO missing from command line两个

在Linux下使用gcc编译mesa文件报undefined reference to symbol 'sin@@GLIBC_2.2.5和DSO missing from command line两个

一、概述

在Linux系统下使用gcc编译用C语言写的mesa的示例程序。

环境:Ubuntu Server 18.04.1

二、问题的出现

在Ubuntu下安装好mesa所需的库文件,将目标文件从github上克隆下来之后编译。

以上截取的是用gcc编译目标文件和传参的介绍:

  • gcc:源程序将用gcc编译器进行编译;
  • osdemo,c:将要被编译的源程序;
  • -lOSMesa:链接OSMesa库;
  • -lGLU:链接GLU库;
  • -lGL:链接GL库;
  • -o:指定目标名称;
  • osdemo:编译后生成的文件名。

执行编译后报错

三、解决方案

报错信息第一行说是在源程序中有个sin函数没有定义;报错信息第二行说是缺少libm.so这个文件。

综上所述,应链接libm库文件,所以正确的命令应该是这样子的:

gcc osdemo.c -lm -lOSMesa -lGLU -lGL -o osdemo

问题解决!

小结

如果以后碰到像缺少libXXX.so文件,就指的是缺少XXX库文件,所以添加时直接用 gcc -lXXX 命令添加即可。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用Go语言操作MySQL数据库的思路与步骤

    最近在做注册登录服务时,学习用Go语言操作MySQL数据库实现用户数据的增删改查,现将个人学习心得总结如下,另外附有代码仓库地址,欢迎各位有兴趣的fork。

    Zoctopus
  • 使用Photoshop实现雪花飘落的效果

    Zoctopus
  • Linux操作_磁盘管理_增加虚拟磁盘

    Zoctopus
  • FFmpeg 开发(01):FFmpeg 编译和集成

    FFmpeg 是一款知名的开源音视频处理软件,它提供了丰富而友好的接口支持开发者进行二次开发。

    字节流动
  • Slide Bar相关

    帮助快速查阅对应分组的侧边栏,可以配合任意列表,demo中给出配合RecyclerView(浮动分组使用stickyheadersrecyclerview)。

    用户3004328
  • 再学一次ConstraintLayout 一些新特性

    首先,ConstraintLayout是一个新的布局,它是直接继承自ViewGroup的,所以在兼容性方面是非常好的.官方称可以兼容到API 9.可以放心食用.

    Android技术干货分享
  • ConstraintLayout使用汇总

    在这里我要向大家介绍ConstraintLayout,它是一种布局方法,可以帮助我们在对Android进行布局时减少对布局层次的嵌套,进而提高app的性能。

    Rouse
  • 日常工作中有哪些很好的节约时间的技巧?

    我一直在测试和调整各种生产效率的技术,在过去的五年中,阅读了大量的书籍(其中大多数是重复的) ,这里是我的一些结论: 这不是一个关于时间的问题,而是关于精力。 ...

    小小科
  • 约束布局(ConstraintLayout)1.1.2 版本的新特性

    叶应是叶
  • 2-VVI-材料设计之CardView

    张风捷特烈

扫码关注云+社区

领取腾讯云代金券