Re: who build this program?



Assuming you use PlatformBuilder 6, a plug in for VS2005 ....

see inline.

"ydlu" <yudiannlu@xxxxxxxxx> wrote in message
news:1c637785-a517-4958-964c-eb4866b4a75b@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
In our group, six developer, so our project had a lot of "intern"
build, to we can test it, how can we pass the "username" - environment
variable, into program and show this username.

In Command prompt:
set username
USERNAME=MYNAME
Ok, this is a check that your USERNAME is MYNAME.

- then set on the project property
UNAME=$(USERNAME)
Yes, you pass the -DUNAME=$(USERNAME) to the compiler when you add this line
to the "Preprocessor Definitions" of the C++ properties.

- define in C program

#define username(x) L#x
No. This does not work. Use this instead:
#define WSTR(s) L#s
#define username(u) WSTR(u)

You need the second macro definition.


void printUserName()
{
_tprintf(TEXT("%s\n"), username(UNAME));
}
Well, if you plan to use the TEXT macro, even if Windows CE uses always
Unicode strings, you should consider to define username this way:
#define TSTR(s) _T(#s)
#define username(u) TSTR(u)

But I would replace _tprintf by wprintf.


Helge


.