bxb_koala 发表于 2007-03-01 09:15

gcc编译问题,困扰我很久了,哪个高手出来解决一下阿?

我自己写了个daemon.cpp的程序,通过#include "/opt/auth_sys/db/cdbc.cpp"(因程序中使用了cdbc.cpp中定义的函数),#include "/opt/auth_sys/db/SybaseDriver.h"方式引用了这两个头文件,用g++ daemon.cpp -o daemon语句编译是出现下面的错误,在我的程序daemon.cpp中没有使用SybaseDriver.cpp中定义的函数,但在cdbc.cpp中使用了SybaseDriver.cpp中定义的函数,这个问题困扰我很久了怎么解决阿?

/tmp/cceOCbTp.o(.text+0x8b0): In function `CConnManager::CreatePool(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int)':
: undefined reference to `CSybaseDriver::CSybaseDriver()'
/tmp/cceOCbTp.o(.text+0xf91): In function `CConnManager::CreateConnection(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
: undefined reference to `CSybaseDriver::CSybaseDriver()'
collect2: ld returned 1 exit status
注:CConnManager::CreatePool在cdbc.cpp中定义,CConnManager::CreateConnection在SybaseDriver.cpp中定义。

gomo1234 发表于 2007-03-01 17:02

建议楼主还是多看看g++还有Makefile方面的资料先。
其实在你的daemon.cpp中用不着饮用cdbc.cpp源码,只要其头文件就可以,
编译时使用:
g++ -o daemon daemon.cpp cdbc.cpp SybaseDriver.cpp
页: [1]
查看完整版本: gcc编译问题,困扰我很久了,哪个高手出来解决一下阿?