Hi, I also compile with VS2008, and I have created my own custom self-maintained project files. I'm trying to figure out which project you are compiling, but it's not clear from your original message. So, I'll just start with some general trouble-shooting advice based on the assumption that you are building pjsip_simple. My pre-processor definitions are as follows: Debug: _DEBUG;PJ_WIN32=1;PJ_M_I386=1;WIN32;_LIB;PJ_CONFIG_DEBUG Release: NDEBUG;PJ_WIN32=1;PJ_M_I386=1;WIN32;_LIB;PJ_CONFIG_SHIPPING Here is my entire command line: /O2 /Ob2 /Oi /Ot /GL /I "../include" /I "../../pjlib-util/include" /I "../../pjlib/include" /D "NDEBUG" /D "PJ_WIN32=1" /D "PJ_M_I386=1" /D "WIN32" /D "_LIB" /D "PJ_CONFIG_SHIPPING" /D "_VC80_UPGRADE=0x0600" /D "_MBCS" /GF /FD /EHsc /MD /Gy /Fp"Release\pjsip_simple\pjsip_simple.pch" /Fo"Release\pjsip_simple\\" /Fd"Release\pjsip_simple\vc90.pdb" /W3 /nologo /c /Gz /TP /errorReport:prompt You can compare that to your entire command-line, and if you have questions as to which property pages turn on which option, then we can go through each setting. Regards, Jim Gomes > -----Original Message----- > From: pjsip-bounces@xxxxxxxxxxxxxxx [mailto:pjsip-bounces at lists.pjsip.org] On Behalf Of > G Orley > Sent: Thursday, 12 June, 2008 9:06 AM > To: pjsip at lists.pjsip.org > Subject: Building a PJSIP project: VC++ 2008 can't find isalnum,isalpha, etc. > > Hi All, > > I'm having trouble with #includes, seemingly, to find the library functions > needed by \pjproject-0.8.0\pjlib\include\pj\ctype.h . The compiler can't > find isalnum, isalpha, etc. > > I'm using Visual Studio 2008 (Windows XP SP2) . My project is in > C:\Documents and Settings\User\My > Documents\Xxxxxx\XXXX_XXX_XXX\_My_VS2008_projects\PJSIP080612\ . > > I've put PJSIP in > C:\Documents and Settings\User\My Documents\Xxxxxx\XXXX_XXX_XXX\pjproject- > 0.8.0\ > > in VS 2008 (VC++ 2008) Project - Properties (Alt+F7) - Configuration > Properties - C/C++ - > General - "Additional Include Directories" I've added the following: > (which made a major > improvement in getting as far as I have) > > C:\Documents and Settings\User\My > Documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjsip\include > C:\Documents and Settings\User\My > Documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjsip\lib > C:\Documents and Settings\User\My > Documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjmedia\include > C:\Documents and Settings\User\My > Documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjmedia\lib > C:\Documents and Settings\User\My > Documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib-util\include > C:\Documents and Settings\User\My > Documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib-util\lib > C:\Documents and Settings\User\My > Documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\include > C:\Documents and Settings\User\My > Documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\lib > C:\Documents and Settings\User\My > Documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\include\pj > > I tried adding the following includes as in the listing that follows: > > #include <ctype.h> // attempt for isalnum() > #include <tchar.h> // attempt for isalnum() > #include <locale> // attempt for isalnum() > #include <stdlib> , stdlib.h. > > -but they didn't help clear up any errors, seemingly (maybe some > changes further down, but not > to the first few compile errors). > > Please see the program listing and build log output, below. How can I > clean up these first few > errors? The code is selected from the example in > pjproject-0.8.0\pjsip-apps\src\samples\ simpleua.c . > > Best regards, > -George > > --------------------------Program listing-------------------------- > // PJSIP080612.cpp > // > #include "stdafx.h" > #include <ctype.h> // attempt for isalnum() > #include <tchar.h> // attempt for isalnum() > #include <locale> // attempt for isalnum() > #include <stdlib> > #include <iostream> > #pragma comment(lib,"ws2_32.lib") > > // ------------------------------- PJSIP Stuff ------------------------------- > // see ex. in pjproject-0.8.0\pjsip-apps\src\samples\ simpleua.c -- these are > // all the PJSIP headers according to that example: > #include "pjsip.h" > #include "pjmedia.h" > // #include "pjmedia-codec.h" > // #include "pjsip_ua.h" > // #include "pjsip_simple.h" > // #include "pjlib-util.h" > // #include "pjlib.h" > > /* For logging purpose. */ > #define THIS_FILE "PJSIP_demo.cpp" > > static pjsip_endpoint *g_endpt; /* SIP endpoint. */ > // This looks necessary to create the > g_med_endpt > static pj_caching_pool cp; /* Global pool factory. */ > static pjmedia_endpt *g_med_endpt; /* Media endpoint. */ > // ------------------------------- PJSIP Stuff ------------------------------- > > > > using namespace std; > > int _tmain(int argc, _TCHAR* argv[]) > { > // Port and socket stuff > int intRTPPort = 0; > > // General decls > char ch = 0; > > // PJSIP decls > // see ex. in pjproject-0.8.0\pjsip-apps\src\samples\ simpleua.c > // see also global variables here above "main()" (or "_tmain()" whatever). > pj_status_t status; > > > > > // ---------------- Beginning of code for this program ----------------- > > // PJSIP stuff -------------------------------------------------------- > // see ex. in pjproject-0.8.0\pjsip-apps\src\samples\ simpleua.c > /* Must init PJLIB first: */ > status = pj_init(); > PJ_ASSERT_RETURN(status == PJ_SUCCESS, 1); > // see pjproject-0.8.0\pjlib\include\pj\ assert.h > > /* Then init PJLIB-UTIL: */ > status = pjlib_util_init(); > PJ_ASSERT_RETURN(status == PJ_SUCCESS, 1); > > /* Must create a pool factory before we can allocate any memory. */ > pj_caching_pool_init(&cp, &pj_pool_factory_default_policy, 0); > // pj_pool_factory_default_policy decl. in > // pjproject-0.8.0\pjlib\include\pj\ pool.h > > // Create global endpoint > const pj_str_t *hostname; > const char *endpt_name; > > // Endpoint MUST be assigned a globally unique name. The name will be > // used as the hostname in Warning header. > > // For this implementation, we'll use hostname for simplicity > hostname = pj_gethostname(); > endpt_name = hostname->ptr; > > // Create the endpoint: > status = pjsip_endpt_create(&cp.factory, endpt_name, &g_endpt); > PJ_ASSERT_RETURN(status == PJ_SUCCESS, 1); > // end of global endpoint creation code > > // This is to help create media transport used to send/receive RTP/RTCP > // socket. See pjmedia_transport_udp_create, below. > // see ex. in pjproject-0.8.0\pjsip-apps\src\samples\ simpleua.c > // Initialize media endpoint -- This will implicitly > // initialize PJMEDIA too. > // Not using threads; see bottom of > // http://trac.pjsip.org/repos/wiki/media-flow . > status = pjmedia_endpt_create(&cp.factory, > pjsip_endpt_get_ioqueue(g_endpt), 0, &g_med_endpt); > PJ_ASSERT_RETURN(status == PJ_SUCCESS, 1); > > > std::cout << "PJSIP demo..." << std::endl; > > // Create media transport used to send/receive RTP/RTCP socket. > // see ex. in pjproject-0.8.0\pjsip-apps\src\samples\ simpleua.c > > // Here we actually create the media transport used to send/receive RTP/RTCP > // socket. > status = pjmedia_transport_udp_create(g_med_endpt, NULL, intRTPPort, > PJMEDIA_UDP_NO_SRC_ADDR_CHECKING, > &g_med_transport); > if (status != PJ_SUCCESS) > { > app_perror(THIS_FILE, "Unable to create media transport", status); > return 1; > } > > std::cout<<std::endl<<"Press any key to continue >"; > std::cin.get(ch); > std::cin.get(ch); > > return 0; > } // main() > --------------------------Program listing-------------------------- > --------------------------build log-------------------------- > ------ Build started: Project: PJSIP080612, Configuration: Debug Win32 ------ > Compiling... > PJSIP080612.cpp > c:\documents and settings\user\my > documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\include\pj\ctype.h(4 7) > : error C3861: 'isalnum': identifier not found > c:\documents and settings\user\my > documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\include\pj\ctype.h(5 6) > : error C3861: 'isalpha': identifier not found > c:\documents and settings\user\my > documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\include\pj\ctype.h(7 4) > : error C3861: 'isdigit': identifier not found > c:\documents and settings\user\my > documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\include\pj\ctype.h(8 3) > : error C3861: 'isspace': identifier not found > c:\documents and settings\user\my > documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\include\pj\ctype.h(9 2) > : error C3861: 'islower': identifier not found > c:\documents and settings\user\my > documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\include\pj\ctype.h(1 02) > : error C3861: 'isupper': identifier not found > c:\documents and settings\user\my > documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\include\pj\ctype.h(1 18) > : error C3861: 'tolower': identifier not found > c:\documents and settings\user\my > documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\include\pj\ctype.h(1 25) > : error C3861: 'toupper': identifier not found > c:\documents and settings\user\my > documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\include\pj\ctype.h(1 34) > : error C3861: 'isxdigit': identifier not found > c:\documents and settings\user\my > documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\include\pj\string.h( 92) > : error C3861: 'strlen': identifier not found > c:\documents and settings\user\my > documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\include\pj\string.h( 124) > : error C3861: 'strlen': identifier not found > c:\documents and settings\user\my > documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\include\pj\string.h( 471) > : error C3861: 'memchr': identifier not found > c:\documents and settings\user\my > documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\include\pj\string.h( 575) > : error C3861: 'memset': identifier not found > c:\documents and settings\user\my > documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\include\pj\string.h( 591) > : error C3861: 'memset': identifier not found > c:\documents and settings\user\my > documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\include\pj\string.h( 633) > : error C3861: 'memcmp': identifier not found > c:\documents and settings\user\my > documents\Xxxxxx\XXXX_XXX_XXX\pjproject-0.8.0\pjlib\include\pj\string.h( 648) > : error C3861: 'memchr': identifier not found > c:\program files\microsoft visual studio 9.0\vc\include\cstring(19) : > error C2039: 'memchr' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(19) : > error C2873: 'memchr' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(19) : > error C2039: 'memcmp' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(19) : > error C2873: 'memcmp' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(21) : > error C2039: 'memset' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(21) : > error C2873: 'memset' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(22) : > error C2039: 'strcat' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(22) : > error C2873: 'strcat' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(22) : > error C2039: 'strchr' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(22) : > error C2873: 'strchr' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(22) : > error C2039: 'strcmp' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(22) : > error C2873: 'strcmp' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(23) : > error C2039: 'strcoll' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(23) : > error C2873: 'strcoll' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(23) : > error C2039: 'strcpy' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(23) : > error C2873: 'strcpy' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(23) : > error C2039: 'strcspn' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(23) : > error C2873: 'strcspn' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(24) : > error C2039: 'strerror' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(24) : > error C2873: 'strerror' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(24) : > error C2039: 'strlen' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(24) : > error C2873: 'strlen' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(24) : > error C2039: 'strncat' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(24) : > error C2873: 'strncat' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(25) : > error C2039: 'strncmp' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(25) : > error C2873: 'strncmp' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(25) : > error C2039: 'strncpy' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(25) : > error C2873: 'strncpy' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(25) : > error C2039: 'strpbrk' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(25) : > error C2873: 'strpbrk' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(26) : > error C2039: 'strrchr' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(26) : > error C2873: 'strrchr' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(26) : > error C2039: 'strspn' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(26) : > error C2873: 'strspn' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(26) : > error C2039: 'strstr' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(26) : > error C2873: 'strstr' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(27) : > error C2039: 'strtok' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(27) : > error C2873: 'strtok' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\cstring(27) : > error C2039: 'strxfrm' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\cstring(27) : > error C2873: 'strxfrm' : symbol cannot be used in a using-declaration > c:\program files\microsoft visual studio 9.0\vc\include\iosfwd(443) : > error C2039: 'memcmp' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\iosfwd(443) : > error C3861: 'memcmp': identifier not found > c:\program files\microsoft visual studio 9.0\vc\include\iosfwd(473) : > error C2039: 'memchr' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\iosfwd(473) : > error C3861: 'memchr': identifier not found > c:\program files\microsoft visual studio 9.0\vc\include\iosfwd(496) : > error C2039: 'memset' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\iosfwd(496) : > error C3861: 'memset': identifier not found > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3008) > : error C2039: 'memcmp' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3008) > : error C3861: 'memcmp': identifier not found > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3021) > : error C2039: 'memcmp' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3021) > : error C3861: 'memcmp': identifier not found > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3034) > : error C2039: 'memcmp' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3034) > : error C3861: 'memcmp': identifier not found > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3166) > : error C2039: 'memset' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3166) > : error C3861: 'memset': identifier not found > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3173) > : error C2039: 'memset' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3173) > : error C3861: 'memset': identifier not found > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3181) > : error C2039: 'memset' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3181) > : error C3861: 'memset': identifier not found > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3210) > : error C2039: 'memset' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3210) > : error C3861: 'memset': identifier not found > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3222) > : error C2039: 'memset' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3222) > : error C3861: 'memset': identifier not found > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3234) > : error C2039: 'memset' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3234) > : error C3861: 'memset': identifier not found > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3331) > : error C2039: 'memcmp' : is not a member of '`global namespace'' > c:\program files\microsoft visual studio 9.0\vc\include\xutility(3331) > : error C3861: 'memcmp': identifier not found > c:\documents and settings\user\my > documents\Xxxxxx\XXXX_XXX_XXX\_my_vs2008_projects\pjsip080612\pjsip08061 2\pj > sip080612.cpp(7) > : fatal error C1083: Cannot open include file: 'stdlib': No such file > or directory > Build log was saved at "file://c:\Documents and Settings\User\My > Documents\Xxxxxx\XXXX_XXX_XXX\_My_VS2008_projects\PJSIP080612\PJSIP08061 2\ > Debug\BuildLog.htm" > PJSIP080612 - 83 error(s), 0 warning(s) > ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== > --------------------------build log-------------------------- > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org