MantisBT - CMake
View Issue Details
0008328CMakeCMakepublic2008-12-24 14:222016-06-10 14:30
Naram Qashat 
Bill Hoffman 
normalmajoralways
closedmoved 
CMake-2-6 
 
0008328: CMake can't link user32.lib with NMake Makefiles geneator under Visual Studio 2005 Express
If I start up the Visual Studio Command Prompt with a VS 2005 Express install, and then try to run CMake, it says that cl.exe is broken, and the CMakeError.log file shows it failing to find user32.lib. The library path is added to the VS 2005 Express IDE (under Tools, Options, Projects and Solutions, VC++ Directories - under Library Files). The VS Command Prompt doesn't set the path for the Platform SDK (or Windows SDK, in this case), but even if I manually add the library path to the PATH environment variable, CMake still fails. This only occurs with VS 2005 and does not happen with VS 2008 at all, nor does it happen with VS 2003.
No tags attached.
Issue History
2008-12-24 14:22Naram QashatNew Issue
2009-01-07 14:30Bill HoffmanStatusnew => assigned
2009-01-07 14:30Bill HoffmanAssigned To => Bill Hoffman
2009-01-07 14:30Bill HoffmanNote Added: 0014474
2009-01-07 14:31Bill HoffmanNote Added: 0014475
2009-01-07 21:29Naram QashatNote Added: 0014484
2016-06-10 14:27Kitware RobotNote Added: 0041487
2016-06-10 14:27Kitware RobotStatusassigned => resolved
2016-06-10 14:27Kitware RobotResolutionopen => moved
2016-06-10 14:30Kitware RobotStatusresolved => closed

Notes
(0014474)
Bill Hoffman   
2009-01-07 14:30   
I think you need to follow the instructions for installing the SDK for this to work.
(0014475)
Bill Hoffman   
2009-01-07 14:31   
CMake assumes that your environment is correct. To run nmake you usually have to run vcvars32.bat or something like that. Not sure what the corresponding thing is for the express editions is....
(0014484)
Naram Qashat   
2009-01-07 21:29   
I have found out a few things. For the Windows Server 2003 Platform SDK doesn't set it's paths by default with vsvars32.bat being run (and that's if you don't tell the SDK to install itself to your path during install). For newer Windows Server 2008 SDK, VS 2008 Express detects the SDK just fine, but VS 2005 Express does not, and there is no option to install it to the path during it's install. I have found a way around it by copying the code of the VS 2008 Express vsvars32.bat which detects the SDK into the vsvars32.bat of VS 2005 Express.
(0041487)
Kitware Robot   
2016-06-10 14:27   
Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page.