Building a PJSIP project: VC++ 2008 can't find isalnum, isalpha, etc.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux