[reSIProcate] Minor fixes for reSIProcate
- From: Xmly <ims3g@xxxxxxx>
- Date: Fri, 27 Jul 2012 14:23:08 +0800 (CST)
Hi,
While compiling reSIProcate latest release in different environments, I run into several errors. Below are my fixes and they have been verified on Linux and should also work on Windows. Please Visual Studio users help to verify Fix 1 and 2.
1. Error caused by 'unsigned long long' value assignment
1) Error details
This error happens when compiling AppDialog.cxx. gcc 4.3.2 is used(same error with gcc 4.1.2, 4.0.3).
../../resip/dum/ContactInstanceRecord.hxx:15: error: integer constant is too large for 'unsigned long' type
../../rutil/Data.hxx:993: warning: 'resip::invokeDataInit' defined but not used
make[4]: *** [AppDialog.lo] Error 1
ContactInstanceRecord.hxx:15,
static const UInt64 NeverExpire = 0xFFFFFFFFFFFFFFFFUL;
2) Fix
Gcc 4.5 or later release does not report this error. While many users may still be using older gcc, suggest fix it.
Use ULL suffix instead of UL. change ContactInstanceRecord.hxx:15,
static const UInt64 NeverExpire = 0xFFFFFFFFFFFFFFFFUL; ->
static const UInt64 NeverExpire = 0xFFFFFFFFFFFFFFFFULL;
Reference links,
http://gcc.gnu.org/onlinedocs/gcc/Long-Long.html
2. Error caused by macro RESIP_DEPRECATED
1) Error details
This error happens when compiling StackThread.cxx. gcc 3.2.2 is used.
In file included from StackThread.cxx:1:
../../resip/stack/StackThread.hxx:28: parse error before `&' token
StackThread.cxx:11: prototype for `
resip::StackThread::StackThread(resip::SipStack&)' does not match any in
class `resip::StackThread'
../../resip/stack/StackThread.hxx:24: candidate is:
resip::StackThread::StackThread(const resip::StackThread&)
make[4]: *** [StackThread.lo] Error 1
2) Fix
Using RESIP_DEPRECATED before constructor StackThread(SipStack& stack) gives the compiler a surprise.
Though there is no such compiling error with latest gcc, suggest fix it for backward compatibility. In stack/StackThread.hxx, change line
RESIP_DEPRECATED StackThread(SipStack& stack) ->
StackThread(SipStack& stack) RESIP_DEPRECATED
3. If ssl is enabled, it's more safe for compiling to also add '-lcrypto'(there is only -lssl now)
Can change configure.ac accordingly.
Thanks and Best Regards,
Xmly