尝试运行一个简单的nanomsg文件,从第一个文件开始:https://github.com/dysinger/nanomsg-examples
安装nanomsg到/usr/local/lib/nanomsg-0.2-alpha
。将sudo ./configure
,sudo make check
,sudo make install
和sudo ldconfig
作为instructions said。所有测试都通过。
当我运行它时,说找不到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.
什么是libc.h?我从大学开始就没有做任何C编程。它是nanomsg还是C库的一部分?
$ which gcc
/usr/bin/gcc
Ubuntu 12.04.4 LTS
答案 0 :(得分:8)
Libc.h只包含一小部分包含。要编译nanomsg样本足够(src):
更换:
#include <libc.h>
与
#include <unistd.h>
#include <string.h>
#include <pthread.h>
我使用此cmd进行静态编译:
gcc -pthread bus.c ../nanomsg/.libs/libnanomsg.a -o test -lanl
注意-pthread和-lanl在行尾。
答案 1 :(得分:1)
尝试以下方法:
$ sudo updatedb
$ locate libc.h
找到libc.h
所在的路径。例如,如果您的libc.h
是/usr/local/include
gcc -I/usr/local/include pipeline.c /usr/local/lib/libnanomsg.a -o pipeline