I'm compiling an application using clang++ 3.8 , libACE 6.3.3 and including the -std=c++11
But i'm having issues with inclusion of ACE Atomic_OP
including such headers:
#include <ace/ACE.h>
#include <ace/Thread.h>
#include <ace/TSS_T.h>
#include <ace/Atomic_Op.h>
i've
../game/libgame.a(WorldSocketMgr.cpp.o): In function
ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator--()': /usr/include/ace/Atomic_Op.inl:72: undefined reference to
ACE_Atomic_Op::decrement_fn_' ../game/libgame.a(WorldSocketMgr.cpp.o): In functionACE_Atomic_Op<ACE_Thread_Mutex, long>::operator++()': /usr/include/ace/Atomic_Op.inl:50: undefined reference to
ACE_Atomic_Op::increment_fn_' ../game/libgame.a(WorldSession.cpp.o): In functionACE_Atomic_Op<ACE_Thread_Mutex, long>::operator=(long)': /usr/include/ace/Atomic_Op.inl:166: undefined reference to
ACE_Atomic_Op::exchange_fn_' ../game/libgame.a(WorldSession.cpp.o): In functionACE_Atomic_Op<ACE_Thread_Mutex, long>::operator-=(long)': /usr/include/ace/Atomic_Op.inl:114: undefined reference to
ACE_Atomic_Op::exchange_add_fn_' clang: error: linker command failed with exit code 1 (use -v to see invocation)
How can i solve it?
UPDATE:
i've changed
ACE_Atomic_Op<ACE_Thread_Mutex, time_t> m_timeOutTime;
in
ACE_Atomic_Op<ACE_Thread_Mutex, int> m_timeOutTime;
and
ACE_Atomic_Op<ACE_Thread_Mutex, long> m_refs;
in
ACE_Atomic_Op<ACE_Thread_Mutex, int> m_refs;
it now compiles, but i'm not sure it's a safe solution.