2009-03-24 12:03
程序 test.cpp如下:|@|#include “ace/OS_NS_string.h"|@|#include "ace/ACE.h"|@|#include "ace/OS.h"|@|#include "ace/Select_reactor.h"|@|int main(int argc,char * argv[])|@|{|@| ACE_Select_Reactor tp_reactor;|@| return 0;|@||@|}|@||@|我的ACE版本:ACE-5.6.8|@|gcc版本:gcc 版本 4.1.2 20071124 (Red Hat 4.1.2-42)|@||@|操作系统:centos5.2|@|内核版本:2.6.18-92.el5|@||@|另外:我在编译时更正了你的上文的几个bug:LD_LIBARY_PATH 为:LD_LIBRARY_PATH ,你少写了一个R,|@|ACE_HAS_STANDARD_CPP_LIBARY也少写了一个R.|@||@|#define ACE_NO_INLINE // 不使用内连函数,能减小LIB和EXE的大小|@|是不是应该为:|@|#define ACE_NO_INLINE 1|@|其他的都是按照你写的,做的。|@|只是把make & install该成了|@|#make|@|#make install|@|你的例子编译运行没有问题,但是,我一运行上面的test.cpp例子,就会出现下述问题:|@|test.o: In function `ACE_OS::memcpy(void*, void const*, unsigned int)':|@|test.cpp:(.text._ZN6ACE_OS6memcpyEPvPKvj[ACE_OS::memcpy(void*, void const*, unsigned int)]+0x1b): undefined reference to `ACE_OS::fast_memcpy(void*, void const*, unsigned int)'|@||@|很希望得到你的帮助,如果你解决了,希望把你的解决方案发我邮箱里面: bill2012@163.com 非常感谢
非常感谢你给我指出的Bug,关于你的问题,我帮你测试了一下,你的程序在我的机器上跑没有问题。如果出现你所描述地问题,你可以检查以下几个地方:
1、 系统环境变量中ACE_ROOT是否已经设定好(可以尝试命令echo $ACE_ROOT)
2、 如果你设置环境变量是写在/etc/profile里面,而程序运行是在非root账户,需要设置/etc/profile的属性,或者每次手动执行命令(source /etc/profile)
3、 程序Link的时候,需要加入参数-I$ACE_ROOT
回复
点赞
删除