尝试运行一个简单的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作为指导说.所有测试都通过.
当我运行它时,说找不到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)
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在行尾.