|

楼主 |
发表于 2004-10-21 22:24:14
|
显示全部楼层
我估计是连接时候出的问题,编译这个开源程序已经困扰了好久,开始是编译通过,link时出现错误,从错误提示来看应该是找不到依赖的库文件。开始我是这样编译的:
g++ -o server -g
-I/root/opendiameter/opendiameter-1.0.7/opendiameter-1.0.7-b/libdiameter/include
-I/root/opendiameter/opendiameter-1.0.7/opendiameter-1.0.7-b/libdiameter/test
-I/root/opendiameter/ACE/ACE_wrappers
-I/root/opendiameter/opendiameter-1.0.7/opendiameter-1.0.7-b/include
-I/root/opendiameter/opendiameter-1.0.7/opendiameter-1.0.7-b/libdiamparser
-I/root/opendiameter/ACE/ACE_wrappers/ace
-I/root/opendiameter/boost/boost-1.30.2/boost
-I/root/opendiameter/boost/boost-1.30.2/boost/function
-lxerces-c -lssl -lcrypto -lACE_SSL -lACE -ldiameter -ldiampaser
-L/usr/local/lib/opendiameter
/root/opendiameter/opendiameter-1.0.7/opendiameter-1.0.7-b/libdiameter/test/sample
_server.cxx 2> /root/debug.txt
结果出现类似的下列错误:
/tmp/ccdYmPgS.o(.text+0x20): In function
`AAASampleAuthAnswerMessage::AAASampleAuthAnswerMessage[not-in-charge](AAASampleServer&, unsigned)':
/usr/include/c++/3.2.2/bits/stl_algobase.h:517: undefined reference to
`AAASessionMessageHandler::AAASessionMessageHandler[not-in-charge](AAAApplicationCore&, unsigned)'
今天我在编译时加了-shared选项,结果编译通过了,生成了server可执行文件,在gnome-terminal里运行时,出现段错误。
我看了他的makefile文件,要的库文件我都找到并加上了。
此程序是个例子,应该不存在只编译一部分吧?
难道还是库文件连接的问题?还是什么别的原因?(源程序本身不会有问题的) |
|