I think I found the issue.<div><br></div><div>Deep inside one of the Microsoft Exchange LIB files that I link against my MFC project executable is the following (I copied this out of the text editor):</div><div><br></div><div>
-defaultlib:mfc40.lib -defaultlib:mfcs40.lib -defaultlib:msvcrt.lib -defaultlib:kernel32.lib -defaultlib:user32.lib -defaultlib:gdi32.lib -defaultlib:comdlg32.lib -defaultlib:winspool.lib -defaultlib:advapi32.lib -defaultlib:shell32.lib -defaultlib:comctl32.lib /include:__afxForceEXCLUDE /include:__afxForceUSRDLL /include:__afxForceSTDAFX -defaultlib:LIBC -defaultlib:OLDNAMES </div>
<div><br></div><div><br></div><div>I don&#39;t know what the dash &quot;-&quot; means, but looks like maybe it is pulling that lib out from this lib? I don&#39;t know how that works but it&#39;s very sneaky... any idea what these command-line arguments are doing in a debug LIB file???<br clear="all">
<div><br></div><div>---------</div>Robert Dailey<br>
<br><br><div class="gmail_quote">On Thu, Oct 20, 2011 at 6:52 PM, Robert Dailey <span dir="ltr">&lt;<a href="mailto:rcdailey@gmail.com">rcdailey@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
More updates.<div><br></div><div>I generated my MFC project as normal through CMake and still have the mfc40.lib can&#39;t be found linker error. So what I did was remove 1 CPP file from the project at a time, clean, rebuild and see what different results I get. Well, once all of the MFC related CPP files (the app class, dialog classes, etc) were removed, the remaining CPP files linked gave me this:</div>

<div><br></div><div>LNK1104: cannot open file &#39;libc.lib&#39;</div><div><br></div><div>Now this is just confusing. What is this lib and why can&#39;t it find it?<br clear="all"><div><br></div><div>---------</div>Robert Dailey<div>
<div></div><div class="h5"><br>

<br><br><div class="gmail_quote">On Thu, Oct 20, 2011 at 3:38 PM, Robert Dailey <span dir="ltr">&lt;<a href="mailto:rcdailey@gmail.com" target="_blank">rcdailey@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Those quotes do look suspicious but for some reason they work just fine in Cygwin.<div><br></div><div>Basically I load vsvars32.bat into my cygwin environment, and I have modified the paths in that batch file to the &quot;short path&quot; format since our makefile build scripts do not play friendly with spaces in the file paths. Don&#39;t ask me much more about it, I didn&#39;t write the scripts so I&#39;m not very familiar with them.</div>


<div><br></div><div>No MFC4 libs are in my Visual Studio installation directory. Also there are NO mfc4 libs anywhere on my entire hard drive, as I did a search at that level as well.</div><div><br></div><div>What about the command switches? There are quite a few of them and I don&#39;t know what most of them do. Did you find anything related to this problem that CMake might be missing? One thing I&#39;ve been trying to figure out is exactly how mfc40.lib is coming up. It&#39;s not in the command line, I haven&#39;t found it in the source code, so where the heck would it be coming from? I&#39;m completely at a loss. Would _WIN_VER=0x400 (or whatever version) or something have anything to do with this?<div>

<br>
<br><div class="gmail_quote">On Thu, Oct 20, 2011 at 2:20 PM, David Cole <span dir="ltr">&lt;<a href="mailto:david.cole@kitware.com" target="_blank">david.cole@kitware.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


The quote placement look suspicious. Where are these coming from? Do<br>
you have quotes embedded in environment variable values?<br>
<div><br>
-I&quot;C:/PROGRA~1/MICROS~<a href="http://1.NET/Vc7" target="_blank">1.NET/Vc7</a>&quot;/include<br>
-I&quot;C:/PROGRA~1/MICROS~<a href="http://1.NET" target="_blank">1.NET</a>&quot;/VC7/PlatformSDK/include<br>
</div><div>-I&quot;C:/PROGRA~1/MICROS~<a href="http://1.NET/Vc7" target="_blank">1.NET/Vc7</a>&quot;/atlmfc/include<br>
-I&quot;C:/PROGRA~1/MICROS~<a href="http://1.NET/Vc7" target="_blank">1.NET/Vc7</a>&quot;/atlmfc/include<br>
<br>
</div>/LIBPATH:&quot;C:/PROGRA~1/MICROS~<a href="http://1.NET/Vc7" target="_blank">1.NET/Vc7</a>&quot;/atlmfc/lib<br>
<br>
And is the mfc4 lib that it&#39;s looking for actually in the &quot;atlmfc/lib&quot;<br>
folder of your Visual Studio installation?</blockquote></div></div></div>
</blockquote></div><br></div></div></div>
</blockquote></div><br></div>