当前位置: 技术问答>linux和unix
undefined reference to 的问题(应该是简单的问题)
来源: 互联网 发布时间:2016-06-15
本文导语: 我在网上下的CGI-LIB (http://www.joeldare.com/wiki/software_projects) 照着他HTML帮助文件里给的那个例子打了一遍后 放LINUX下用GCC编译的时候为什么会出现以下错误: /tmp/ccYzRsOr.o(.text+0x1d): In function `main': myfirst.c: unde...
我在网上下的CGI-LIB (http://www.joeldare.com/wiki/software_projects)
照着他HTML帮助文件里给的那个例子打了一遍后 放LINUX下用GCC编译的时候为什么会出现以下错误:
/tmp/ccYzRsOr.o(.text+0x1d): In function `main':
myfirst.c: undefined reference to `cgi_input_parse'
/tmp/ccYzRsOr.o(.text+0x2d):myfirst.c: undefined reference to `mime_header'
/tmp/ccYzRsOr.o(.text+0x3f):myfirst.c: undefined reference to `html_begin'
/tmp/ccYzRsOr.o(.text+0x4f):myfirst.c: undefined reference to `h1'
/tmp/ccYzRsOr.o(.text+0x6f):myfirst.c: undefined reference to `h2'
/tmp/ccYzRsOr.o(.text+0x85):myfirst.c: undefined reference to `h3'
/tmp/ccYzRsOr.o(.text+0x95):myfirst.c: undefined reference to `list_print'
/tmp/ccYzRsOr.o(.text+0xb5):myfirst.c: undefined reference to `h2'
/tmp/ccYzRsOr.o(.text+0xbd):myfirst.c: undefined reference to `cgi_env'
/tmp/ccYzRsOr.o(.text+0xc2):myfirst.c: undefined reference to `html_end'
collect2: ld returned 1 exit status
头文件是这样的
#include
#include "cgi-lib.h" /* include the cgi-lib.h header file */
#include "html-lib.h" /* include the html-lib.h header file */
应该没错吧 那是哪有问题呢 ,我觉得应该是我库有问题 但我不会搞。。。谁帮帮我啊 !
我看了下,html-lib.h文件里是有那几个函数的声明,但是他的定义在html-lib.c那个文件里,我不知道怎么加进去,谁能告诉我啊
照着他HTML帮助文件里给的那个例子打了一遍后 放LINUX下用GCC编译的时候为什么会出现以下错误:
/tmp/ccYzRsOr.o(.text+0x1d): In function `main':
myfirst.c: undefined reference to `cgi_input_parse'
/tmp/ccYzRsOr.o(.text+0x2d):myfirst.c: undefined reference to `mime_header'
/tmp/ccYzRsOr.o(.text+0x3f):myfirst.c: undefined reference to `html_begin'
/tmp/ccYzRsOr.o(.text+0x4f):myfirst.c: undefined reference to `h1'
/tmp/ccYzRsOr.o(.text+0x6f):myfirst.c: undefined reference to `h2'
/tmp/ccYzRsOr.o(.text+0x85):myfirst.c: undefined reference to `h3'
/tmp/ccYzRsOr.o(.text+0x95):myfirst.c: undefined reference to `list_print'
/tmp/ccYzRsOr.o(.text+0xb5):myfirst.c: undefined reference to `h2'
/tmp/ccYzRsOr.o(.text+0xbd):myfirst.c: undefined reference to `cgi_env'
/tmp/ccYzRsOr.o(.text+0xc2):myfirst.c: undefined reference to `html_end'
collect2: ld returned 1 exit status
头文件是这样的
#include
#include "cgi-lib.h" /* include the cgi-lib.h header file */
#include "html-lib.h" /* include the html-lib.h header file */
应该没错吧 那是哪有问题呢 ,我觉得应该是我库有问题 但我不会搞。。。谁帮帮我啊 !
我看了下,html-lib.h文件里是有那几个函数的声明,但是他的定义在html-lib.c那个文件里,我不知道怎么加进去,谁能告诉我啊
|
如果有动态库, 需要在编译命令中加上 -l#### ####是你的动态库名,自己去查查吧。
如果html-lib.c 不负责,没有设计到其他的文件,那么连同这个文件一起在gcc 中编译吧。
如果html-lib.c 不负责,没有设计到其他的文件,那么连同这个文件一起在gcc 中编译吧。
|
那你需要把html-lib.c也编译到你的程序里。
要么你做成.so,安装到系统中。
要么你做成.so,安装到系统中。