如何解决“implicit declaration of function<函数名>”错误?
(2012-06-07 02:18:49)
标签:
function如何杂谈 |
如何解决“implicit declaration of
function<函数名>”错误?我的函数都是在lib库里定义,然后在程序里调用,但是在编译时出现“implicit
declaration of function”错误,如何解决?谢谢!/bin/sh ./libtool --tag=CC
--mode=link gcc -Wall -Wwrite-strings -Werror -std=
gnu99 -D_GNU_SOURCE -D_REENTRANT -g -O2 -o dffserver server.c libjson.la -L./
-labctcp
程序我是这样编译的,函数在libabctcp.a中,是不是libabctcp.a也要变成la啊?调用的时候包含你的函数原型声明,再说了那个只是一个warning,你的错误在其他地方调用的时候包含你的函数原型声明,再说了那个只是一个warning,你的错误在其他地方
churchmice 发表于 2010-06-09 10:14 http://bbs.chinaunix.net/images/common/back.gif
出错信息如下:
yzfs.h:24: warning: missing braces around initializer
yzfs.h:24: warning: (near initialization for `wlog.pass')
server.c: In function `main':
server.c:31: warning: implicit declaration of function `daemon_procedure'
server.c:33: warning: implicit declaration of function `server_socket'
server.c:42: warning: implicit declaration of function `accept_procdure'
server.c:50: warning: implicit declaration of function `YZFSServ'
server.c:53: warning: implicit declaration of function `close'
server.c: In function `YZFSServ':
server.c:86: warning: implicit declaration of function `read_socket'
server.c:109: warning: implicit declaration of function `write_socket'
server.c:61: warning: unused variable `my_string'
server.c:61: warning: unused variable `my_int'
server.c:61: warning: unused variable `my_array'
server.c:62: warning: unused variable `ret'
server.c:63: warning: unused variable `tmpbuf'很明显,没包含头文件因为是测试程序,一些无用的变量没有删除,现在改了一下,编译后,出错信息如下:
server.c: In function `main':
server.c:31: warning: implicit declaration of function `daemon_procedure'
server.c:33: warning: implicit declaration of function `server_socket'
server.c:42: warning: implicit declaration of function `accept_procdure'
server.c:50: warning: implicit declaration of function `YZFSServ'
server.c:53: warning: implicit declaration of function `close'
server.c: In function `YZFSServ':
server.c:83: warning: implicit declaration of function `read_socket'
server.c:106: warning: implicit declaration of function `write_socket'很明显http://www.shffdz.com,没包含头文件
c/unix 发表于 2010-06-09 10:25 http://bbs.chinaunix.net/images/common/back.gif
我以前都是在SCO中用C开发,这样http://www.haidaceclothing.com/的程序没有问题,为什么在LINUX上就出错了呢?头文件在哪里加?这么说,没有头文件啊。
对于那些报警的函数,那就在.c文件前面加上extern 函数原型。把-Werror去掉
gnu99 -D_GNU_SOURCE -D_REENTRANT -g -O2 -o dffserver server.c libjson.la -L./
-labctcp
程序我是这样编译的,函数在libabctcp.a中,是不是libabctcp.a也要变成la啊?调用的时候包含你的函数原型声明,再说了那个只是一个warning,你的错误在其他地方调用的时候包含你的函数原型声明,再说了那个只是一个warning,你的错误在其他地方
churchmice 发表于 2010-06-09 10:14 http://bbs.chinaunix.net/images/common/back.gif
出错信息如下:
yzfs.h:24: warning: missing braces around initializer
yzfs.h:24: warning: (near initialization for `wlog.pass')
server.c: In function `main':
server.c:31: warning: implicit declaration of function `daemon_procedure'
server.c:33: warning: implicit declaration of function `server_socket'
server.c:42: warning: implicit declaration of function `accept_procdure'
server.c:50: warning: implicit declaration of function `YZFSServ'
server.c:53: warning: implicit declaration of function `close'
server.c: In function `YZFSServ':
server.c:86: warning: implicit declaration of function `read_socket'
server.c:109: warning: implicit declaration of function `write_socket'
server.c:61: warning: unused variable `my_string'
server.c:61: warning: unused variable `my_int'
server.c:61: warning: unused variable `my_array'
server.c:62: warning: unused variable `ret'
server.c:63: warning: unused variable `tmpbuf'很明显,没包含头文件因为是测试程序,一些无用的变量没有删除,现在改了一下,编译后,出错信息如下:
server.c: In function `main':
server.c:31: warning: implicit declaration of function `daemon_procedure'
server.c:33: warning: implicit declaration of function `server_socket'
server.c:42: warning: implicit declaration of function `accept_procdure'
server.c:50: warning: implicit declaration of function `YZFSServ'
server.c:53: warning: implicit declaration of function `close'
server.c: In function `YZFSServ':
server.c:83: warning: implicit declaration of function `read_socket'
server.c:106: warning: implicit declaration of function `write_socket'很明显http://www.shffdz.com,没包含头文件
c/unix 发表于 2010-06-09 10:25 http://bbs.chinaunix.net/images/common/back.gif
我以前都是在SCO中用C开发,这样http://www.haidaceclothing.com/的程序没有问题,为什么在LINUX上就出错了呢?头文件在哪里加?这么说,没有头文件啊。
对于那些报警的函数,那就在.c文件前面加上extern 函数原型。把-Werror去掉