当前位置: 技术问答>linux和unix
头文件 问题 ???????????
来源: 互联网 发布时间:2016-10-22
本文导语: 我分别在头文件 judge.h 和 datebase.h 里定义了两个类 Judge 和 Datebase 在 judge.cpp 和 datebase.cpp 里实现了这两类 在judge_main.cpp 里引用 头文件 judge.h 和 datebase.h 如: #include"judge.h" #include"datebase.h" int main(...
我分别在头文件 judge.h 和 datebase.h 里定义了两个类 Judge 和 Datebase
在 judge.cpp 和 datebase.cpp 里实现了这两类
在judge_main.cpp 里引用 头文件 judge.h 和 datebase.h
如:
用如下命令 编译:
yukuilong@yukuilong-virtual-machine:~/桌面/Mycore/judge$ g++ -Wall -I/usr/include/mysql judge_main.cpp -lmysqlclient -o judge_main
结果 如下错误:
/tmp/cczoKLmz.o: In function `main':
judge_main.cpp:(.text+0x5a): undefined reference to `Judge::Judge(int)'
judge_main.cpp:(.text+0x66): undefined reference to `Judge::daemonize()'
judge_main.cpp:(.text+0x72): undefined reference to `Judge::already_running()'
judge_main.cpp:(.text+0xb0): undefined reference to `Judge::~Judge()'
judge_main.cpp:(.text+0x10f): undefined reference to `Datebase::Datebase(int)'
judge_main.cpp:(.text+0x11b): undefined reference to `Datebase::connect_datebase()'
judge_main.cpp:(.text+0x138): undefined reference to `Judge::work(Datebase&)'
judge_main.cpp:(.text+0x14f): undefined reference to `Judge::get_sleep_time()'
judge_main.cpp:(.text+0x187): undefined reference to `Judge::get_sleep_time()'
judge_main.cpp:(.text+0x1a4): undefined reference to `Datebase::~Datebase()'
judge_main.cpp:(.text+0x1ba): undefined reference to `Judge::~Judge()'
collect2: ld returned 1 exit status
为什么说 两个类中的 成员函数没有定义呢 ??
帮忙看看 谢谢 !!
在 judge.cpp 和 datebase.cpp 里实现了这两类
在judge_main.cpp 里引用 头文件 judge.h 和 datebase.h
如:
#include"judge.h"
#include"datebase.h"
int main(int argc,char *argv[])
{
..............core..................
}
用如下命令 编译:
yukuilong@yukuilong-virtual-machine:~/桌面/Mycore/judge$ g++ -Wall -I/usr/include/mysql judge_main.cpp -lmysqlclient -o judge_main
结果 如下错误:
/tmp/cczoKLmz.o: In function `main':
judge_main.cpp:(.text+0x5a): undefined reference to `Judge::Judge(int)'
judge_main.cpp:(.text+0x66): undefined reference to `Judge::daemonize()'
judge_main.cpp:(.text+0x72): undefined reference to `Judge::already_running()'
judge_main.cpp:(.text+0xb0): undefined reference to `Judge::~Judge()'
judge_main.cpp:(.text+0x10f): undefined reference to `Datebase::Datebase(int)'
judge_main.cpp:(.text+0x11b): undefined reference to `Datebase::connect_datebase()'
judge_main.cpp:(.text+0x138): undefined reference to `Judge::work(Datebase&)'
judge_main.cpp:(.text+0x14f): undefined reference to `Judge::get_sleep_time()'
judge_main.cpp:(.text+0x187): undefined reference to `Judge::get_sleep_time()'
judge_main.cpp:(.text+0x1a4): undefined reference to `Datebase::~Datebase()'
judge_main.cpp:(.text+0x1ba): undefined reference to `Judge::~Judge()'
collect2: ld returned 1 exit status
为什么说 两个类中的 成员函数没有定义呢 ??
帮忙看看 谢谢 !!
|
在一个目录下,你也没有引用啊
g++ -Wall -I/usr/include/mysql judge_main.cpp judge.cpp datebase.cpp -lmysqlclient -o judge_main
g++ -Wall -I/usr/include/mysql judge_main.cpp judge.cpp datebase.cpp -lmysqlclient -o judge_main