When I try to link advapi32 with two widl-generated files (scm_client and eventlog_client) I get conflict:
[LD] output-i386\lib\advapi32\advapi32.dll obj-i386\include\idl\svcctl_c.o: In function `ScmrCloseServiceHandle': D:/trunk/reactos/obj-i386/include/idl/svcctl_c.c:87: multiple definition of `__MIDL_ProcFormatString' obj-i386\include\idl\eventlogrpc_c.o:D:/trunk/reactos/obj-i386/include/idl/eventlogrpc_c.c:87: first defined here obj-i386\include\idl\svcctl_c.o: In function `ScmrLockServiceDatabase': D:/trunk/reactos/obj-i386/include/idl/svcctl_c.c:245: multiple definition of `__MIDL_TypeFormatString' obj-i386\include\idl\eventlogrpc_c.o:D:/trunk/reactos/obj-i386/include/idl/eventlogrpc_c.c:182: first defined here collect2: ld returned 1 exit status make: *** [output-i386\lib\advapi32\advapi32.dll] Error 1
How to solve this?
Saveliy Tretiakov wrote:
When I try to link advapi32 with two widl-generated files (scm_client and eventlog_client) I get conflict:
[LD] output-i386\lib\advapi32\advapi32.dll obj-i386\include\idl\svcctl_c.o: In function `ScmrCloseServiceHandle': D:/trunk/reactos/obj-i386/include/idl/svcctl_c.c:87: multiple definition of `__MIDL_ProcFormatString' obj-i386\include\idl\eventlogrpc_c.o:D:/trunk/reactos/obj-i386/include/idl/eventlogrpc_c.c:87: first defined here obj-i386\include\idl\svcctl_c.o: In function `ScmrLockServiceDatabase': D:/trunk/reactos/obj-i386/include/idl/svcctl_c.c:245: multiple definition of `__MIDL_TypeFormatString' obj-i386\include\idl\eventlogrpc_c.o:D:/trunk/reactos/obj-i386/include/idl/eventlogrpc_c.c:182: first defined here collect2: ld returned 1 exit status make: *** [output-i386\lib\advapi32\advapi32.dll] Error 1
How to solve this?
I just committed a patch that makes WIDL generate static type and proc format string variables. This will enable you to link scm_client and eventlog_client to advapi32.dll.
Regards, Eric Kohl