2014-02-14 157 views
6

当试图得到一个简单的nanomsg文件运行后,开始在这里的第一个目录:https://github.com/dysinger/nanomsg-exampleslibc.h:没有这样的文件或编译nanomsg管道样品

安装nanomsg到/usr/local/lib/nanomsg-0.2-alpha。冉sudo ./configure,sudo make check,sudo make installsudo 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 

回答

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。

+0

这个效果很好,但是请注意,我需要在构建nanomsg时运行'./configure --enable-static'以使其正常工作,否则会丢失符号在libnanomsg.a中。 – meowsqueak

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 
+0

那么,这有帮助,但现在我有一堆这些:'/usr/local/go/include/../src/lib9/utf/utf.h:46:1:错误:预期的标识符或''''''''之前'/'token'等 – jcollum

相关问题