Codeblocks 8.02 在Fedora12 编译工程成功,链接失败。
一共有13个工程,用到了ACE5.7.4.
include的头文件和ACE库均指向正确的位置。
所有的静态库和动态库,可执行文件都编译通过。但在进行链接时发生错误。
错误如下:
./linux/libgame.a(MotionMaster.o)||In function `MovementGeneratorMedium<Player, TargetedMovementGenerator<Player> >::PosForceChange(Unit&)':|
)]+0x14)||undefined reference to `TargetedMovementGenerator<Player>::PosForceChange(Player const&)'|
../linux/libgame.a(MotionMaster.o)||In function `MovementGeneratorMedium<Creature, TargetedMovementGenerator<Creature> >::PosForceChange(Unit&)':|
)]+0x14)||undefined reference to `TargetedMovementGenerator<Creature>::PosForceChange(Creature const&)'|
../linux/libgame.a(WorldSocketMgr.o)||In function `ACE_Object_Manager::at_exit(ACE_Cleanup*, void*)':|
)]+0x27)||undefined reference to `ACE_Object_Manager::at_exit_i(void*, void (*)(void*, void*), void*)'|
../linux/libgame.a(WorldSocketMgr.o)||In function `ACE_Acceptor<WorldSocket, ACE_SOCK_Acceptor>::accept_svc_handler(WorldSocket*)':|
)]+0x6b)||undefined reference to `ACE_SOCK_Acceptor::accept(ACE_SOCK_Stream&, ACE_Addr*, ACE_Time_Value*, int, int) const'|
根据错误查找源代码发现该方法有定义,之前也说过,编译通过的。google,百度说是ACE版本冲突,要卸载ACELIB.我已经试过了,但错误依旧。求各位朋友帮忙看看。分不多。尽量给。
[解决办法]
是不是你的ace用的不同版本的gcc编译的啊
[解决办法]
你试着下一下源码用自己机器编译安装一下