MantisBT - CMake
View Issue Details
0004248CMakeCMakepublic2006-12-29 18:252008-10-09 13:26
Brandon Van Every 
Bill Hoffman 
lowfeaturealways
closedduplicate 
 
 
0004248: when user32.lib missing, suggest user install Platform SDK
The free Visual C++ 2005 Express edition does not come with user32.lib. If a user installs 2005 Express and then fires up CMake, CMake will fail with a very bad looking and cryptic error message about being unable to find user32.lib. The user needs to install the Microsoft Platform SDK to remedy this problem, but given the target audience for 2005 Express, he probably doesn't know that. The error is technically the user's fault, not CMake's, but the error *looks* like a CMake error.

To get more people using CMake more quickly, it would be good if CMake intercepts missing user32.lib errors, and says something like, "Have you installed the MICROSOFT PLATFORM SDK?"
No tags attached.
duplicate of 0005719closed Bill Hoffman NMake Makefiles generator doesn't work "out of the box" with Visual Studio C++ 2005 Express Edition 
Issue History
2007-09-13 09:22Andrew MolloyNote Added: 0008967
2007-09-13 15:06Brandon Van EveryNote Added: 0008976
2007-09-16 11:27Andrew MolloyNote Added: 0008999
2008-10-09 13:26Bill HoffmanRelationship addedduplicate of 0005719
2008-10-09 13:26Bill HoffmanStatusassigned => closed
2008-10-09 13:26Bill HoffmanResolutionopen => duplicate

Notes
(0006052)
Brandon Van Every   
2006-12-29 18:41   
Really helpful would be to search for the Platform SDK, and ask if the user has placed a path entry in the Options for VC++ 2005 Express. "No PSDK" is one type of error. "Got a PSDK, no path entry" is another. "Got a path entry, but no actual PSDK" is a third; although, we're really only looking for user32.lib and the other usual suspects.
(0008967)
Andrew Molloy   
2007-09-13 09:22   
This is really an issue with Microsoft's documentation, but there is an additional step I had to take to get CMake working with the Express Edition of Visual C++ 2005. It might be worthwhile to mention this in the CMake documentation somewhere. After following all of the instructions about installing the Platform SDK, the user must then edit vcvars32.bat and add the same paths that they added in the IDE. Also, I have to run CMakeSetup.exe from an environment set up with vcvars32.bat (such as the "Visual Studio 2005 Command Prompt", or just any command prompt after having run vcvars32.bat).
(0008976)
Brandon Van Every   
2007-09-13 15:06   
What are "the same paths that you added in the IDE?" I've never edited vcvars32.bat and my CMake works fine. I don't start CMake from a command prompt either. I bet there are ways you could get in trouble here, but I'm not sure these are CMake issues. I would suggest you start from scratch and come up with an exact reproducer for the problem you describe. Then if there is definitely the problem you suggest, file a bug report on that item specifically so that others can try to reproduce it.
(0008999)
Andrew Molloy   
2007-09-16 11:27   
I've researched this issue more thoroughly and submitted a much more comprehensive report about it:

http://www.cmake.org/Bug/view.php?id=5719 [^]