关于Linux下进程间使用共享内存和信号量通信的时的编译问题
今天在编译一个使用信号量实现进程同步时,出现了库函数不存在的问题。如下图
编译结果实际上是说,没include相应的头文件,或是头文件不存在(即系统不支持该库函数)
但我man shm_open是可以找到帮助文件的(说明系统支持),原因何在???
注意到link with -lrt 就是说需要使用-lrt 来链接库函数
使用 gcc -lrt sample10_server.c 命令仍然出错(有人这样编译通过了)
使用 gcc sample10_server.c -lrt 然后编译通过了,原因如下
参考:
http://stackoverflow.com/questions/9923495/undefined-reference-shm-open-already-add-lrt-flag-here