0
$\begingroup$

There are several similar questions here, but in case they are outdated, still let me ask.

I did

Needs["CCompilerDriver`"]

and then

CreateExecutable[
 StringJoin["int main(){\n", "  printf(\"Hello world.\\n\");\n", 
  "}\n"], "hiworld", 
 "Compiler" -> 
  CCompilerDriver`VisualStudioCompiler`VisualStudioCompiler, 
 "CompilerInstallation" -> 
  "c:\\Program Files\\Microsoft Visual Studio\\2022\\Preview", 
 "CompilerName" -> Automatic, "ShellOutputFunction" -> Print]

The output is this:

During evaluation of In[2]:= 
C:\Users\me\AppData\Roaming\Mathematica\SystemFiles\LibraryResources\Windows-x86-64\Working-asusi-3132-17180-1>call "c:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Auxiliary\Build\vcvarsall.bat" amd64 
**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.12.0-pre.1.0
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
The system cannot find the file specified.
[vcvarsall.bat] Environment initialized for: 'x64'
Microsoft (R) C/C++ Optimizing Compiler Version 19.42.34226.3 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

hiworld.c
Microsoft (R) Incremental Linker Version 14.42.34226.3
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:hiworld.exe 
user32.lib 
kernel32.lib 
gdi32.lib 
"/LIBPATH:C:\Program Files\Wolfram Research\Mathematica\13.3\SystemFiles\Links\MathLink\DeveloperKit\Windows-x86-64\CompilerAdditions" 
"/LIBPATH:C:\Program Files\Wolfram Research\Mathematica\13.3\SystemFiles\Libraries\Windows-x86-64" 
/out:C:\Users\me\AppData\Roaming\Mathematica\SystemFiles\LibraryResources\Windows-x86-64\Working-asusi-3132-17180-1\hiworld.exe 
hiworld.obj 
LINK : fatal error LNK1181: cannot open input file 'user32.lib'
During evaluation of In[2]:= CreateExecutable::cmperr: Compile error: LINK : fatal error LNK1181: cannot open input file 'user32.lib'
Out[2]= $Failed

Indeed I checked that I don't have anywhere on my system files user32.lib, kernel32.lib or gdi32.lib, neither do I have user64.lib, kernel64.lib, gdi64.lib or user.lib, kernel.lib or gdi.lib.

What's wrong and how to fix it?

$\endgroup$
2
  • 2
    $\begingroup$ Sounds like you didn't select a Windows SDK as part Visual Studio's installation. $\endgroup$ Commented Aug 31, 2024 at 21:52
  • 1
    $\begingroup$ @ihojnicki Perfect answer! You nailed it down exactly. Could you please turn this into an answer? $\endgroup$ Commented Sep 1, 2024 at 4:41

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.