Compiling
tSIP softphone is built using Turbo C++ Explorer. This IDE is the free (even for commercial usage but with slightly limited functionality) version of C++ Builder 2006 or BDS 2006 (Borland Developer Studio). It has it strengths and weaknesses but the main problem may be it is no longer available - it was shut down and replaced with paid versions.
Why C++ Builder?
- nice IDE with GUI designer and other bells and whistles that works well (most of the time)
- able to produce small statically linked binaries working without issues on Windows XP and newer systems (actually probably Windows 98 and up although I've used some API that may hinder backward compatibility - some earlier tSIP version were actually tested with Windows 98) and also Wine
- CodeGuard, greatly helping with keeping C/C++ code reliable
While I haven't tested it personally building tSIP with newer version of C++ Builder (in particular version 2009 and up) may cause some troubles due to VCL transition to Unicode.
Turbo C++ Explorer works best with Windows XP. For Windows 7 start using included with sources run_bds.bat (this is deleting EditorLineEnds.ttr file each time, otherwise IDE would not start correctly) and run as administrator.
TC++ has a number of bugs related to unnecessary rebuilding of multiple projects in group and opposite - not including changes in top level project if library project changed. To mitigate these problems multiple project group files are provided - for initial build use tSIP.bdsgroup (with both Debug and Release targets), if only top level (GUI) has to be changed use tSIP_exe.bdsgroup.
Other, very annoying kind of bugs is incorrect code generation - sometimes just randomly, without obvious cause (IDE restart or whole project rebuild helps), sometimes related to inline functions (that forced me to change some re function to non-inline) when instead of running code from inline function at some point execution just jumps to some random function.
Random IDE crashes are also not uncommon.
I think many of these problems are fixed in newer version,
although C++ Builder is little too expensive for private/non-commercial use. At the moment (2016.11) C++ Builder 10.1 Starter
is given out for free (similar to TC++ Explorer few years ago), but this version has quite limited debugging capabilities
(no "Local Variables", no "Debug/Inspect") which is very annoying when working with anything but small project. On top of
that it cannot import TC++ project files making transition time consuming.
Back to tSIP.