您的位置:首页 > Web前端

undefined reference to涉及的链接问题

2014-09-19 18:27 609 查看
在linux下,编译链接的时候,undefined reference to.....,引起这个问题的原因在于在链接的时候缺少选项--->>>>>>缺少相应的链接库;或者链接库间有依赖关系时,先后顺序不对;下面举几个例子,并给出解决办法。

1、undefined reference to `dlerror'

undefined reference to `dlopen'

undefined reference to `dlerror'

解决办法:在makefile的LDFLAGS后面把选项 -ldl 添加上即可。

2、undefined reference to `main'

解决办法:在makefile的LDFLAGS后面添加 -nostartfiles 选项。

3、undefined reference to `pthread_setspecific'

undefined reference to `pthread_key_delete'

undefined reference to `pthread_key_create'

解决办法:在makefile的LDFLAGS后面添加 -lpthread 选项。

4、undefined reference to `clock_gettime'=========================>>>>>>>>>>>>>>>>>这个我有验证,因为遇到这个问题

解决办法:在makefile的LDFLAGS后面添加 -lrt 选项。(qt中,在相应的pro文件中:LIBS += -lrt)

不过要注意的是,如果undefined reference to后面的内容是在自己的文件中声明或定义的东西,就不能用这种方法来解决了。这时就需要检查一下自己的makefile涉及到源文件、头文件的地方是否出错了,也有可能是其他的原因。

另注:

在楼主的基础上,再补充一个个人遇到过的情况:

ps:

undefined reference to 'SDL_GetKeyState'

解决办法:qt中,相应的pro文件中:LIBS += -lSDL

有关linux下SDL方面的资料:

SDL lib,跨平台的简单的多媒体库

linux下安装SDL
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: