天天看点

在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上克隆下来之后编译。

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

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

gcc:源程序将用gcc编译器进行编译;

osdemo,c:将要被编译的源程序;

-lOSMesa:链接OSMesa库;

-lGLU:链接GLU库;

-lGL:链接GL库;

-o:指定目标名称;

osdemo:编译后生成的文件名。

执行编译后报错

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

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

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

  

问题解决!

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

作者:Zoctopus_Zhang

    出处:http://www.cnblogs.com/OctoptusLian/

    版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明。

    特此声明:所有评论和私信都会在第一时间回复。也欢迎园子里和园子外的大大们指正错误,共同进步。或者直接私信我 (^∀^)

    声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!

在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两个错误的解决方案

如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】按钮。

如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【关注我】。

如果,想给予我更多的鼓励,求打

本博客的所有打赏均将用于博主女朋友的化妆品购买以及养肥计划O(∩_∩)O。我是【~不会飞的章鱼~】!

联系或打赏博主【~不会飞的章鱼~】!https://www.cnblogs.com/OctoptusLian/

继续阅读