Index: pjproject/trunk/build.symbian/bld.inf
===================================================================
--- pjproject/trunk/build.symbian/bld.inf	(revision 2767)
+++ pjproject/trunk/build.symbian/bld.inf	(revision 2768)
@@ -36,2 +36,3 @@
 ..\pjsip-apps\src\symbian_ua_gui\group\symbian_ua_gui.mmp
 gnumakefile ..\pjsip-apps\src\symbian_ua_gui\group\Icons_aif_scalable_dc.mk
+pjlib_test.mmp
Index: pjproject/trunk/build.symbian/pjlib.mmp
===================================================================
--- pjproject/trunk/build.symbian/pjlib.mmp	(revision 2767)
+++ pjproject/trunk/build.symbian/pjlib.mmp	(revision 2768)
@@ -22,4 +22,10 @@
 MACRO		PJ_M_I386=1
 MACRO		PJ_SYMBIAN=1
+
+// Must compile as C++, otherwise exception would not work
+OPTION          CW -lang c++
+OPTION          ARMCC --cpp
+OPTION          GCC     -x c++
+OPTION          GCCE    -x c++
 
 //
Index: pjproject/trunk/build.symbian/pjlib_test.mmp
===================================================================
--- pjproject/trunk/build.symbian/pjlib_test.mmp	(revision 2767)
+++ pjproject/trunk/build.symbian/pjlib_test.mmp	(revision 2768)
@@ -8,4 +8,10 @@
 MACRO		PJ_M_I386=1
 MACRO		PJ_SYMBIAN=1
+
+// Must compile as C++, otherwise exception would not work
+OPTION CW -lang c++
+OPTION ARMCC --cpp
+OPTION GCC -x c++
+OPTION GCCE -x c++
 
 #if defined(PJ_BUILD_DLL)
@@ -25,5 +31,5 @@
 SOURCE	fifobuf.c
 SOURCE	file.c
-SOURCE	hash.c
+SOURCE	hash_test.c
 SOURCE	ioq_perf.c
 SOURCE	ioq_tcp.c
@@ -64,2 +70,5 @@
 #endif
 
+// Need a bit of mem for logging in the app.
+EPOCSTACKSIZE		32768
+
Index: pjproject/trunk/build.symbian/pjlib_test.pkg
===================================================================
--- pjproject/trunk/build.symbian/pjlib_test.pkg	(revision 2768)
+++ pjproject/trunk/build.symbian/pjlib_test.pkg	(revision 2768)
@@ -0,0 +1,18 @@
+; pjlib_test.pkg
+
+; Languages
+&EN
+
+; Header
+;#{"pjlib_test"},(0x200235D3), 0, 1, 1
+#{"pjlib_test"},(0xA000000D), 0, 1, 1
+
+; Platform compatibility
+[0x101F7961], *, *, *,{"Series60ProductID"}
+
+; vendor
+%{"PJSIP"}
+:"PJSIP"
+
+; Target
+"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\pjlib_test.exe"-"!:\sys\bin\pjlib_test.exe"
Index: pjproject/trunk/build.symbian/pjlib_util.mmp
===================================================================
--- pjproject/trunk/build.symbian/pjlib_util.mmp	(revision 2767)
+++ pjproject/trunk/build.symbian/pjlib_util.mmp	(revision 2768)
@@ -22,4 +22,10 @@
 MACRO		PJ_M_I386=1
 MACRO		PJ_SYMBIAN=1
+
+// Must compile as C++, otherwise exception would not work
+OPTION          CW -lang c++
+OPTION          ARMCC --cpp
+OPTION          GCC -x c++
+OPTION          GCCE -x c++
 
 //
Index: pjproject/trunk/build.symbian/pjmedia.mmp
===================================================================
--- pjproject/trunk/build.symbian/pjmedia.mmp	(revision 2767)
+++ pjproject/trunk/build.symbian/pjmedia.mmp	(revision 2768)
@@ -21,6 +21,4 @@
 SOURCEPATH	..\pjmedia\src\pjmedia
 
-//OPTION		CW -lang c++
-
 //
 // GCCE optimization setting
@@ -30,4 +28,10 @@
 MACRO		PJ_M_I386=1
 MACRO		PJ_SYMBIAN=1
+
+// Must compile as C++, otherwise exception would not work
+OPTION          CW -lang c++
+OPTION          ARMCC --cpp
+OPTION          GCC     -x c++
+OPTION          GCCE    -x c++
 
 //
Index: pjproject/trunk/build.symbian/pjsdp.mmp
===================================================================
--- pjproject/trunk/build.symbian/pjsdp.mmp	(revision 2767)
+++ pjproject/trunk/build.symbian/pjsdp.mmp	(revision 2768)
@@ -23,4 +23,10 @@
 MACRO		PJ_SYMBIAN=1
 
+// Must compile as C++, otherwise exception would not work
+OPTION          CW -lang c++
+OPTION          ARMCC --cpp
+OPTION          GCC     -x c++
+OPTION          GCCE    -x c++
+
 //
 // Platform independent source
Index: pjproject/trunk/build.symbian/pjsip.mmp
===================================================================
--- pjproject/trunk/build.symbian/pjsip.mmp	(revision 2767)
+++ pjproject/trunk/build.symbian/pjsip.mmp	(revision 2768)
@@ -25,4 +25,10 @@
 MACRO		PJ_M_I386=1
 MACRO		PJ_SYMBIAN=1
+
+// Must compile as C++, otherwise exception would not work
+OPTION          CW -lang c++
+OPTION          ARMCC --cpp
+OPTION          GCC     -x c++
+OPTION          GCCE    -x c++
 
 // PJSIP-CORE files
Index: pjproject/trunk/build.symbian/pjsip_simple.mmp
===================================================================
--- pjproject/trunk/build.symbian/pjsip_simple.mmp	(revision 2767)
+++ pjproject/trunk/build.symbian/pjsip_simple.mmp	(revision 2768)
@@ -26,4 +26,10 @@
 MACRO		PJ_SYMBIAN=1
 
+// Must compile as C++, otherwise exception would not work
+OPTION          CW -lang c++
+OPTION          ARMCC --cpp
+OPTION          GCC     -x c++
+OPTION          GCCE    -x c++
+
 // PJSIP-SIMPLE files
 
Index: pjproject/trunk/build.symbian/pjsip_ua.mmp
===================================================================
--- pjproject/trunk/build.symbian/pjsip_ua.mmp	(revision 2767)
+++ pjproject/trunk/build.symbian/pjsip_ua.mmp	(revision 2768)
@@ -26,5 +26,9 @@
 MACRO		PJ_SYMBIAN=1
 
-//OPTION		CW -lang c++
+// Must compile as C++, otherwise exception would not work
+OPTION          CW -lang c++
+OPTION          ARMCC --cpp
+OPTION          GCC     -x c++
+OPTION          GCCE    -x c++
 
 
Index: pjproject/trunk/build.symbian/pjsua_lib.mmp
===================================================================
--- pjproject/trunk/build.symbian/pjsua_lib.mmp	(revision 2767)
+++ pjproject/trunk/build.symbian/pjsua_lib.mmp	(revision 2768)
@@ -26,5 +26,9 @@
 MACRO		PJ_SYMBIAN=1
 
-// OPTION		CW -lang c++
+// Must compile as C++, otherwise exception would not work
+OPTION          CW -lang c++
+OPTION          ARMCC --cpp
+OPTION          GCC     -x c++
+OPTION          GCCE    -x c++
 
 // PJLIB-UTIL files
