Ureader.com  
Microsoft software help and Community
   home   |   control panel login   |   archive   |  
 
platform
active.directory
adsi
adsi.iis-admin
base
com_ole
complus_mts
component_svcs
database
directx
gdi
graphics_mm
internet.client
internet.server
internet.server.isapi-dev
localization
mapi
messaging
msi
mslayerforunicode
multimedia
networking
networking.ipv6
sdk_install
security
shell
telephony.tapi_2
telephony.tapi_3
telephony.tsp
telephony.wte
tools
ui
ui_shell
win_base_svcs
win16
  
 
date: Mon, 13 Aug 2007 19:21:40 +0200,    group: microsoft.public.platformsdk.com_ole        back       


CL cannot compile MIDL generated dlldata.c   
Hello Platform SDK Community!

I cannot compile MIDL generated source, and don't know why.

I have set up a new, clean development machine (Windows XP Pro SP2, 
Platform SDK with the included midl and cl compiler, no additional 
VisualStudio or something -- "bare iron").

First I open a SDK CLI using Start > All Programs > Microsoft Windows 
SDK > CMD Shell.

Using notepad I then create the following FooBar.idl file:

import "Unknwn.idl";
[
   object,
   uuid(9c7844f5-9bb6-48e2-94ec-14154d22e281)
]
interface IFoo : IUnknown
{
   HRESULT Bar();
};

I can successfully run MIDL to create the source code for a stub / proxy 
dll:

C:\FooBar>midl FooBar.idl
Microsoft (R) 32b/64b MIDL Compiler Version 7.00.0499
Copyright (c) Microsoft Corporation 1991-2006. All rights reserved.
Processing .\FooBar.idl
FooBar.idl
Processing C:\Programme\Microsoft SDKs\Windows\v6.0\Include\Unknwn.idl
Unknwn.idl
Processing C:\Programme\Microsoft SDKs\Windows\v6.0\Include\wtypes.idl
wtypes.idl
Processing C:\Programme\Microsoft SDKs\Windows\v6.0\Include\basetsd.h
basetsd.h
Processing C:\Programme\Microsoft SDKs\Windows\v6.0\Include\guiddef.h
guiddef.h

But when I try to compile it using the included CL, it tells me:

C:\FooBar>cl dlldata.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 
for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

dlldata.c
dlldata.c(24) : error C2061: syntax error : identifier 
'PROXYFILE_LIST_START'
dlldata.c(24) : error C2059: syntax error : ';'
dlldata.c(31) : error C2146: syntax error : missing ';' before 
identifier 'DLLDA
TA_ROUTINES'
dlldata.c(38) : fatal error C1004: unexpected end-of-file found

In fact I do not understand that it tells me that the 
PROXYFILE_LIST_START macro is not defined, since actually it is defined 
in rpcproxy.h (which is the very start of the dlldata.c file, which I 
certainly did NOT change). The rpcproxy.h file IS found (I renamed it to 
check that and THEN cl says rpcproxy.h is not found).

Can somebody tell me what my fault is?

Thanks a lot!
Markus
date: Mon, 13 Aug 2007 19:21:40 +0200   author:   Markus KARG

Google
 
Web ureader.com


    COPYRIGHT 2007, YARDI TECHNOLOGY LIMITED, ALL RIGHT RESERVE  |   contact us