Graham said:
I've seen the file "nochkclr.obj" mentioned frequently, but
I've never seen an explanation of what it is.
So ... what is it / what's in there?
It is necessary if you want to build managed C++ assemblies which try to
overcome the "Mixed DLL Loading Problem"
See: Mixed DLL Loading Problem
http://msdn.microsoft.com/library/en-
us/dv_vstechart/html/vcconMixedDLLLoadingProblem.asp
Or in general: If you build with /clr and /noentry
In short it does the following:
<quote>
The compiler adds a call to an internal C runtime (CRT) function called
_check_commonlanguageruntime_version to check if it's version 1.1 of the
CLR. However, since you have removed support for the CRT by using the
/noentry linker switch, the linker will complain that the CRT is not
accessible by complaining that it can't find the symbol _main. The way to
get around this problem is to link with the nochkclr.obj file provided in
the Visual C++ .NET libraries folder or to compile with
/clr:initialAppDomain described in the next section.
</quote>
See: Language Enhancements and Simplified GUI Development Enrich Your C++
Apps
http://msdn.microsoft.com/msdnmag/issues/03/03/VisualCNET/
--
Greetings
Jochen
My blog about Win32 and .NET
http://blog.kalmbachnet.de/