gcc/g++ undefined reference to function() 问题的解决方法

原创 2015年07月06日 17:14:18

g++ 编译一个程序g++ shm.c -o shm,
用到了 shm_open(), shm_unlink()函数,编译出现了下面的错误:

/tmp/ccL2cbha.o: In function `del_resource()':
shm.c:(.text+0x1b3): undefined reference to `shm_unlink'
/tmp/ccL2cbha.o: In function `main':
shm.c:(.text+0x872): undefined reference to `shm_open'
collect2: error: ld returned 1 exit status

后来翻阅shm_open()文档,赫然发现下面的内容:
在终端中输入 man shm_open 回车:

SYNOPSIS
       #include <sys/mman.h>
       #include <sys/stat.h>        /* For mode constants */
       #include <fcntl.h>           /* For O_* constants */

       int shm_open(const char *name, int oflag, mode_t mode);

       int shm_unlink(const char *name);

       Link with -lrt.

Link with -lrt 表明编译的时候要加上 -lrt 。
所以正确的编译命令应该是:
g++ shm.c -lrt -o shm

我想类似与于这种编译错误,好方法是看man文档,找是否需要显示链接其他库。

"undefined reference to" 问题解决方法

最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误: (.text+0x13): undefined reference to `func'     ...

gcc编译时对'xxxx'未定义的引用问题

在使用gcc编译的时候有时候会碰到这样的问题,编译为.o(obj) 文件没有问题,但是编译(这一步应该是链接)为可执行文件的时候会出现找不到’xxx’的定义的情况。 例如: g++ -o spid...

结合xxx.cpp:(.text+0x55):对‘xxx’未定义的引用剖析Linux环境下动态库.so文件

结合xxx.cpp:(.text+0x55):对‘xxx’未定义的引用 剖析Linux环境下动态库.so文件

g++编译时对'xxxx'未定义的引用问题(undefined reference to)

引用:http://www.linuxdiyf.com/linux/16754.html 在使用gcc编译的时候有时候会碰到这样的问题,编译为.o(obj) 文件没有问题,但是编译(这一步应该是...
  • killwho
  • killwho
  • 2016年12月21日 15:45
  • 4613

ubuntu 下运行程序报错 对‘std::cout’未定义的引用

在编译c++程序时运行gcc -o fileio fileio.cpp报错,错误提示为: /tmp/ccinWfZ2.o:在函数‘main’中: fileio.cpp:(.text+0x26):对...

gcc "undefined reference to" 问题解决方法

最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误: (.text+0x13): undefined reference to `func'   ...
  • AXuan_K
  • AXuan_K
  • 2016年07月25日 17:54
  • 1908

gcc链接顺序新手坑-undefined reference to `XXX'

GCC在链接时对依赖库的顺序是敏感的,被依赖的库必须放在后面。GCC链接规定,链接时,若A和B同时需要链接,不论A/B是目标文件还是库文件,若A中引用了B的符号,例如函数或者全局变量,则在链接时,必须...

gcc编译的时候一个undefined reference to `xxx'的一个细节

gcc 编译 引用动态库so的时候,最好将源文件放在动态库的前面,因为gcc的机制会优先前面的文件。 引出这个问题 是在使用glib时出现的。test_glib.c:(.text+0x30): un...

gcc error: undefined reference to + 类构造函数

我遇到这个错误,纯粹是收到IDE的毒害,导致自己傻子似的不知道程序是怎样被编译执行的。     为了详细解释,先写了一个头文件a.h如下: class A { public: int a...

ffmpeg用g++编译时的注意事项

1、编译时出现下面错误 libavutil/common.h:185: 错误:‘UINT64_C’ 在此作用域中尚未声明 解决方法: libavutil/common.h增加如下代码 //user a...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:gcc/g++ undefined reference to function() 问题的解决方法
举报原因:
原因补充:

(最多只允许输入30个字)