"cannot open file 'user32.lib'" when trying to use Visual Studio 2005 on Windows 10

0

I'm attempting to match output with a C++ Win32 executable compiled with Visual Studio 2005, so I'm trying to use that MSVC to do so. I have a project defined in CMake. I open "Visual Studio 2005 Command Prompt", but when I try to cmake -G "NMake Makefiles" .. I get LINK : fatal error LNK1104: cannot open file 'user32.lib'.

Here's the CMakeLists.txt:

cmake_minimum_required(VERSION 3.15)

# set the project name
project(LEGOStarWarsSaga)

# add the executable
add_executable(LEGOStarWarsSaga src/main.cpp)

Here's the Visual Studio 2005 Command Prompt output:

C:\Users\aprim\Documents\lstsc>mkdir build

C:\Users\aprim\Documents\lstsc>cd build

C:\Users\aprim\Documents\lstsc\build>cmake -G "NMake Makefiles" ..
-- The C compiler identification is MSVC 14.0.50727
-- The CXX compiler identification is MSVC 14.0.50727
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 8/VC/bin/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 8/VC/bin/cl.exe - broken
CMake Error at C:/Program Files/CMake/share/cmake-3.19/Modules/CMakeTestCCompiler.cmake:66 (message):
  The C compiler

    "C:/Program Files (x86)/Microsoft Visual Studio 8/VC/bin/cl.exe"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: C:/Users/aprim/Documents/lstsc/build/CMakeFiles/CMakeTmp

    Run Build Command(s):nmake /nologo cmTC_41947\fast &&       "C:\Program Files (x86)\Microsoft Visual Studio 8\VC\BIN\nmake.exe"  -f CMakeFiles\cmTC_41947.dir\build.make /nologo -L                  CMakeFiles\cmTC_41947.dir\build
    Building C object CMakeFiles/cmTC_41947.dir/testCCompiler.c.obj
        C:\PROGRA~2\MI30EB~1\VC\bin\cl.exe @C:\Users\aprim\AppData\Local\Temp\nmBDB4.tmp
    testCCompiler.c
    Linking C executable cmTC_41947.exe
        "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_exe --intdir=CMakeFiles\cmTC_41947.dir --rc=C:\PROGRA~2\MI30EB~1\VC\bin\rc.exe --mt=C:\PROGRA~2\MI30EB~1\VC\bin\mt.exe --manifests -- C:\PROGRA~2\MI30EB~1\VC\bin\link.exe /nologo @CMakeFiles\cmTC_41947.dir\objects1.rsp @C:\Users\aprim\AppData\Local\Temp\nmBE13.tmp
    LINK Pass 1: command "C:\PROGRA~2\MI30EB~1\VC\bin\link.exe /nologo @CMakeFiles\cmTC_41947.dir\objects1.rsp /out:cmTC_41947.exe /implib:cmTC_41947.lib /pdb:C:\Users\aprim\Documents\lstsc\build\CMakeFiles\CMakeTmp\cmTC_41947.pdb /version:0.0 /machine:X86 /debug /INCREMENTAL:YES /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:CMakeFiles\cmTC_41947.dir/intermediate.manifest CMakeFiles\cmTC_41947.dir/manifest.res" failed (exit code 1104) with the following output:
    LINK : fatal error LNK1104: cannot open file 'user32.lib'
    NMAKE : fatal error U1077: '"C:\Program Files\CMake\bin\cmake.exe"' : return code '0xffffffff'
    Stop.
    NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 8\VC\BIN\nmake.exe"' : return code '0x2'
    Stop.





  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:4 (project)


-- Configuring incomplete, errors occurred!
See also "C:/Users/aprim/Documents/lstsc/build/CMakeFiles/CMakeOutput.log".
See also "C:/Users/aprim/Documents/lstsc/build/CMakeFiles/CMakeError.log".

After reading online, I've come to find that this is something to do with missing the Windows SDK. However, I have the Windows SDKs 7.1 and 10.0 installed. What am I missing?

Bonus points if there's a build tool that'll make this process (nearly) seamless for anyone cloning the project.


EDIT: Installing Visual Studio 2005 Professional with the full Visual C++ option installs the SDK properly, and the project builds. My worry is that not everyone has access to VS 2005 Pro.

cmake
visual-studio-2005
asked on Stack Overflow Oct 25, 2020 by Aly • edited Oct 26, 2020 by Aly

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0