P
Phil Atkin
I'm really struggling with this issue. I can see it's complex, but given
the difficulty in reproducing it it's really essential that the advice
provided is bullet-proof and very clear. So far, I can't follow the advice.
My situation is this: I have followed MS recommendations to convert my
in-process COM server to a mixed-mode DLL that exposes managed objects to
..NET framework clients and COM objects to unmanaged COM clients. In fact,
the article "Walkthrough: Exploring COM interoperability with ATL and
Managed Extensions for C++" is more or less directly analogous to my
situation. So when I started getting " LNK4243 'DLL containing objects
compiled with /clr is not linked with /NOENTRY; image may not run
correctly'." I went back to this walkthrough to see how it avoids the
message. Surprise! It produces the same warning.
The 'definitive' documentation (http://support.microsoft.com/?id=814472:
PRB: Linker Warnings When You Build Managed Extensions for C++ DLL Projects)
isn't clear to me. In the section "Modify the Components that Consume the
DLL for Manual Initialization", it seems to me that my scenario (and that of
the walkthrough) encompasses both the second _and_ the third cases. Do I
have to follow both remedies?
It would be most helpful if MS could post a method to fix the walkthrough so
that it conformed to their own recommendations. It would also be helpful if
they could fix the documents so the language is a little clearer.
Phil Atkin
the difficulty in reproducing it it's really essential that the advice
provided is bullet-proof and very clear. So far, I can't follow the advice.
My situation is this: I have followed MS recommendations to convert my
in-process COM server to a mixed-mode DLL that exposes managed objects to
..NET framework clients and COM objects to unmanaged COM clients. In fact,
the article "Walkthrough: Exploring COM interoperability with ATL and
Managed Extensions for C++" is more or less directly analogous to my
situation. So when I started getting " LNK4243 'DLL containing objects
compiled with /clr is not linked with /NOENTRY; image may not run
correctly'." I went back to this walkthrough to see how it avoids the
message. Surprise! It produces the same warning.
The 'definitive' documentation (http://support.microsoft.com/?id=814472:
PRB: Linker Warnings When You Build Managed Extensions for C++ DLL Projects)
isn't clear to me. In the section "Modify the Components that Consume the
DLL for Manual Initialization", it seems to me that my scenario (and that of
the walkthrough) encompasses both the second _and_ the third cases. Do I
have to follow both remedies?
It would be most helpful if MS could post a method to fix the walkthrough so
that it conformed to their own recommendations. It would also be helpful if
they could fix the documents so the language is a little clearer.
Phil Atkin