libc.h:编译nanomsg管道样本时没有这样的文件或目录

jco*_*lum 6 c libc nanomsg

尝试运行一个简单的nanomsg文件,从第一个开始:https://github.com/dysinger/nanomsg-examples

安装nanomsg到/usr/local/lib/nanomsg-0.2-alpha.然sudo ./configure,sudo make check,sudo make installsudo ldconfig作为指导说.所有测试都通过.

当我运行它时,说找不到libc.h:

$ gcc pipeline.c /usr/local/lib/libnanomsg.a -o pipeline
pipeline.c:2:18: fatal error: libc.h: No such file or directory
compilation terminated.
Run Code Online (Sandbox Code Playgroud)

什么是libc.h?我从大学开始就没有做任何C编程.它是nanomsg或C库的一部分吗?

$ which gcc
/usr/bin/gcc
Ubuntu 12.04.4 LTS
Run Code Online (Sandbox Code Playgroud)

Vic*_*kin 8

Libc.h只包含一小部分包含.要编译nanomsg样本足够(src):

更换:

#include <libc.h> 
Run Code Online (Sandbox Code Playgroud)

#include <unistd.h>
#include <string.h>
#include <pthread.h>
Run Code Online (Sandbox Code Playgroud)

我用这个cmd进行静态编译:

gcc -pthread bus.c ../nanomsg/.libs/libnanomsg.a -o test -lanl
Run Code Online (Sandbox Code Playgroud)

注意-pthread和-lanl在行尾.