HP OpenVMS Systemsask the wizard |
The Question is: Hi, I converting an application form VAX C to ANSI C and I running in to following problem The current Compaq C define BYTE as "typedef unsigned char BYTE" and the old code using VAX C define BYTE as "typedef char BYTE" As result when I try to compile the application following error show up typedef unsigned char BYTE; ................................^ %CC-E-NOLINKAGE, In this declaration, "BYTE" has no linkage and has a prior decl aration in this scope at line number 207 in file $5$DKA0:[DEV.DET.V0700.J.SRC]DM XUTLDEF.H;15. And I can not just change the type of BYTE because the application use a lot of old module that use "typedef char BYTE" and the new compaq c routine use "typedef unsigned char BYTE" so is there any way to fix this. James The Answer is :
Without details of the header file(s) involved and without some sort
of reproducer, a specific answer is difficult -- the OpenVMS Wizard
has tried to locate any existing typedef references, and has tried
a (successful) trial build of an application (see below, braces
replaced with brackets) containing this typedef.
Please contact the Compaq Customer Support Center for assistance
in locating and resolving this particular problem.
$ cc x
$ lin x
$ r x
hello ?
$ ty x.c
#include [stdio.h]
typedef char BYTE;
main()
{
printf("hello %c\n",(BYTE) 63);
return 1;
}
$ cc/ver
Compaq C V6.4-004 on OpenVMS Alpha V7.2-1
|