Installed, but cannot .L to compile

Hi everyone,

I successfully built and installed the latest stable version of ROOT (details below) by building from source. The demos work, as do built-in command line tests. But I cannot compile a simple test program like:

void temp2(double q=0.05){
    int a=2;
    a+=3+q;
    return;
}

As you can see, it does very little, and returns nothing. When I do “.L temp2.cpp++”, I get a stack trace (included below). I was a bit surprised to see traces from multiple threads, as I thought ROOT didn’t do well with multithreading.

Possibly relevant: my company has the machines locked down and I do not have Administrator privileges. I can “Run Elevated”, which I did to build and install ROOT, and I do with the CMD window in which I run ROOT. I do not know how inheritable privileges are when I Run Elevated.

_ROOT Version: 6.24/02
_Platform: Windows 10
_Compiler: MSVS 2019

The error:

root [3] .L temp2.cpp+
Info in TWinNTSystem::ACLiC: creating shared library c:/000-WORKAREA/analysis/TeamKrane/optionPriceQuestion/zzz-rootBuildFiles/temp2_cpp.dll

==========================================
=============== STACKTRACE ===============

================ Thread 0 ================
libCore!TWinNTSystem::ShowMembers()
ucrtbase!seh_filter_exe()
root!Init_thread_footer()
KERNEL32!BaseThreadInitThunk()
ntdll!RtlGetAppContainerNamedObjectPath()
ntdll!RtlGetAppContainerNamedObjectPath()

================ Thread 1 ================
ntdll!ZwDelayExecution()
KERNELBASE!Sleep()
libCore!TWinNTSystem::TimerThread()
KERNEL32!BaseThreadInitThunk()
ntdll!RtlGetAppContainerNamedObjectPath()
ntdll!RtlGetAppContainerNamedObjectPath()

================ Thread 2 ================
win32u!NtUserGetMessage()
libCore!TWinNTSystem::FreeDirectory()
KERNEL32!BaseThreadInitThunk()
ntdll!RtlGetAppContainerNamedObjectPath()
ntdll!RtlGetAppContainerNamedObjectPath()

================ Thread 3 ================
ntdll!NtRemoveIoCompletion()
fcagpph32!??
KERNEL32!BaseThreadInitThunk()
ntdll!RtlGetAppContainerNamedObjectPath()
ntdll!RtlGetAppContainerNamedObjectPath()

================ Thread 4 ================
ntdll!NtRemoveIoCompletion()
fcagpph32!??
KERNEL32!BaseThreadInitThunk()
ntdll!RtlGetAppContainerNamedObjectPath()
ntdll!RtlGetAppContainerNamedObjectPath()

==========================================
============= END STACKTRACE =============

root [3]

Under some circumstances, I have seen 6 threads.

 - John

I am really hoping somebody has seen this kind of thing before, as I don’t even know where to start.

Hi John,

Your messages got stuck in the review queue - sorry about that.

That’s indeed an error I’ve never seen. Is there no additional info / no additional error message? There should be something… Which MSVC version is this, exactly? Do you have a chance to use ROOT from within the Windows Subsystem for Linux (WSL)?

Can you send the console output of this:

root [0] ... whatever you do before
root [3] gDebug=7
root [4] .L temp2.cpp++

Hello Axel,

root [0] and root [1] were just me running the demo. Stack dump results are the same if I try to compile immediately. If you look carefully above, I cut-n-pasted from the “.L temp2.cpp+” all the way down to the next root [ ] prompt, so there was no additional info then. Here is what I see when I do gDebug=7:

Info in TWinNTSystem::ACLiC: creating shared library c:/000-WORKAREA/analysis/TeamKrane/optionPriceQuestion/zzz-rootBuildFiles/temp2_cpp.dll
Info in : echo # > “c:\000-WORKAREA\analysis\TeamKrane\optionPriceQuestion\zzz-rootBuildFiles\temp2_cpp.d”
Info in : C:\Schwabware\root\root_install\bin\rmkdepend “-fc:\000-WORKAREA\analysis\TeamKrane\optionPriceQuestion\zzz-rootBuildFiles\temp2_cpp.d” -o_cpp.dll “-pc:\000-WORKAREA\analysis\TeamKrane\optionPriceQuestion/zzz-rootBuildFiles/” -Y – “-IC:/Schwabware/root/root_install\include” -I%ROOTSYS%\include -I%RISKUTILS_INC% -D_WIN32 -D_XKEYCHECK_H -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS -DLL – “c:/000-WORKAREA/analysis/TeamKrane/optionPriceQuestion/temp2.cpp” “-tc:/000-WORKAREA/analysis/TeamKrane/optionPriceQuestion/zzz-rootBuildFiles/temp2_cpp.dll” > c:\000-WORKAREA\analysis\TeamKrane\optionPriceQuestion\zzz-rootBuildFiles\stderr.tmp 2>&1
Info in : echo c:/000-WORKAREA/analysis/TeamKrane/optionPriceQuestion/zzz-rootBuildFiles/temp2_cpp.dll: C:\Schwabware\root\root_install\include\RVersion.h C:\Schwabware\root\root_install\include\RConfig.h C:\Schwabware\root\root_install\include\TClass.h C:\Schwabware\root\root_install\include\TDictAttributeMap.h C:\Schwabware\root\root_install\include\TInterpreter.h C:\Schwabware\root\root_install\include\TROOT.h C:\Schwabware\root\root_install\include\TBuffer.h C:\Schwabware\root\root_install\include\TMemberInspector.h C:\Schwabware\root\root_install\include\TError.h C:\Schwabware\root\root_install\include\RtypesImp.h C:\Schwabware\root\root_install\include\TIsAProxy.h C:\Schwabware\root\root_install\include\TFileMergeInfo.h C:\Schwabware\root\root_install\include\TCollectionProxyInfo.h >> “c:\000-WORKAREA\analysis\TeamKrane\optionPriceQuestion\zzz-rootBuildFiles\temp2_cpp.d”
Info in TWinNTSystem::ACLiC: looking for header in: c:/000-WORKAREA/analysis/TeamKrane/optionPriceQuestion:C:\000-WORKAREA\analysis\TeamKrane\optionPriceQuestion:.::%ROOTSYS%\include:%RISKUTILS_INC%:
Info in : creating the dictionary files
Info in : C:\Schwabware\root\root_install\bin\rootcling -v0 “–lib-list-prefix=c:\000-WORKAREA\analysis\TeamKrane\optionPriceQuestion\zzz-rootBuildFiles\temp2_cpp_ACLiC_map” -f “c:\000-WORKAREA\analysis\TeamKrane\optionPriceQuestion\zzz-rootBuildFiles\temp2_cpp_ACLiC_dict.cxx” -rml temp2_cpp -rmf “c:\000-WORKAREA\analysis\TeamKrane\optionPriceQuestion\zzz-rootBuildFiles\temp2_cpp.rootmap” -DR__ACLIC_ROOTMAP -I%ROOTSYS%\include -I%RISKUTILS_INC% -D__ACLIC__ “c:/000-WORKAREA/analysis/TeamKrane/optionPriceQuestion/temp2.cpp” “c:\000-WORKAREA\analysis\TeamKrane\optionPriceQuestion\zzz-rootBuildFiles\temp2_cpp_ACLiC_linkdef.h”

==========================================
=============== STACKTRACE ===============

================ Thread 0 ================
libCore!TWinNTSystem::ShowMembers()
ucrtbase!seh_filter_exe()
root!Init_thread_footer()
KERNEL32!BaseThreadInitThunk()
ntdll!RtlGetAppContainerNamedObjectPath()
ntdll!RtlGetAppContainerNamedObjectPath()

================ Thread 1 ================
ntdll!ZwDelayExecution()
KERNELBASE!Sleep()
libCore!TWinNTSystem::TimerThread()
KERNEL32!BaseThreadInitThunk()
ntdll!RtlGetAppContainerNamedObjectPath()
ntdll!RtlGetAppContainerNamedObjectPath()

================ Thread 2 ================
win32u!NtUserGetMessage()
libCore!TWinNTSystem::FreeDirectory()
KERNEL32!BaseThreadInitThunk()
ntdll!RtlGetAppContainerNamedObjectPath()
ntdll!RtlGetAppContainerNamedObjectPath()

================ Thread 3 ================
ntdll!NtRemoveIoCompletion()
fcagpph32!??
KERNEL32!BaseThreadInitThunk()
ntdll!RtlGetAppContainerNamedObjectPath()
ntdll!RtlGetAppContainerNamedObjectPath()

================ Thread 4 ================
ntdll!NtRemoveIoCompletion()
fcagpph32!??
KERNEL32!BaseThreadInitThunk()
ntdll!RtlGetAppContainerNamedObjectPath()
ntdll!RtlGetAppContainerNamedObjectPath()

================ Thread 5 ================
ntdll!ZwWaitForWorkViaWorkerFactory()
KERNEL32!BaseThreadInitThunk()
ntdll!RtlGetAppContainerNamedObjectPath()
ntdll!RtlGetAppContainerNamedObjectPath()

================ Thread 6 ================
ntdll!ZwWaitForWorkViaWorkerFactory()
KERNEL32!BaseThreadInitThunk()
ntdll!RtlGetAppContainerNamedObjectPath()
ntdll!RtlGetAppContainerNamedObjectPath()

================ Thread 7 ================
ntdll!ZwWaitForWorkViaWorkerFactory()
KERNEL32!BaseThreadInitThunk()
ntdll!RtlGetAppContainerNamedObjectPath()
ntdll!RtlGetAppContainerNamedObjectPath()

================ Thread 8 ================
ntdll!ZwWaitForWorkViaWorkerFactory()
KERNEL32!BaseThreadInitThunk()
ntdll!RtlGetAppContainerNamedObjectPath()
ntdll!RtlGetAppContainerNamedObjectPath()

==========================================
============= END STACKTRACE =============

root [1]

So I got 8 threads dumping, but no clues that I can see in the debug output. There are some details, like I added an include area that has my personal code in it (RISKUTILS_INC) and I have defined a build directory (flat) to hold compile files (zzz-rootBuildFiles). But it all seems mundane to my eye.

 - John

Dear John,

Thanks, indeed, nothing surprising here. Can you still answer these, please:

FYI our Windows expert will be back next week - I am trying to help as good as I can here :slight_smile: but we might need him in the end.

Cheers, Axel.

Ah, sorry, I missed that. MSVS Professional 2019, v16.10.4, with .NET v4.8.03752. Pretty new stuff.

I have never worked with WSL.

Hi, I cannot reproduce the issue with ROOT v6.24/02, VS 2019 v16.10.4, Windows 10 SDK 10.0.19041.0:

C:\000-WORKAREA\analysis\TeamKrane\optionPriceQuestion\zzz-rootBuildFiles>root
   ------------------------------------------------------------------
  | Welcome to ROOT 6.24/02                        https://root.cern |
  | (c) 1995-2021, The ROOT Team; conception: R. Brun, F. Rademakers |
  | Built for win32 on Jun 28 2021, 09:28:51                         |
  | From tags/v6-24-02@v6-24-02                                      |
  | With MSVC 19.29.30040.0                                          |
  | Try '.help', '.demo', '.license', '.credits', '.quit'/'.q'       |
   ------------------------------------------------------------------

root [0] .L temp2.cpp+
Info in <TWinNTSystem::ACLiC>: creating shared library C:/000-WORKAREA/analysis/TeamKrane/optionPriceQuestion/zzz-rootBuildFiles/temp2_cpp.dll
temp2_cpp_ACLiC_dict.cxx
   Creating library C:/000-WORKAREA/analysis/TeamKrane/optionPriceQuestion/zzz-rootBuildFiles\temp2_cpp.lib and object C:/000-WORKAREA/analysis/TeamKrane/optionPriceQuestion/zzz-rootBuildFiles\temp2_cpp.exp
temp2_cpp_ACLiC_dict.cxx
   Creating library C:/000-WORKAREA/analysis/TeamKrane/optionPriceQuestion/zzz-rootBuildFiles\temp2_cpp.lib and object C:/000-WORKAREA/analysis/TeamKrane/optionPriceQuestion/zzz-rootBuildFiles\temp2_cpp.exp
root [1]

As you can see I also used the same directory structure than you (just to be sure). It might be due to the “Elevated” installation of ROOT, I’ll have to find a way to try it.
BTW, did you start ROOT in a x86 Native Tools Command Prompt for VS 2019? If not, can you try?

Hello Bertrand, thank you for your help!

Your directory work is admirable, but please note that I am working one directory up from where you are, and I have gSystem->SetBuildDir("./zzz-rootBuildFiles", kTRUE); in my .rootlogon.C

Your idea on the Native Tools prompt was a good one! It successfully compiled temp2.cpp++. I could not compile my more complicated analysis code because it couldn’t find my .lib file, but that seems easier to fix.

I thought ROOT should run from an ordinary CMD window though. Was I wrong?

 - John

Well, yes and no. The interpreter (the JIT) needs the PATH to the system (VS and Win10 SDK) include directories to be able to run, and might find them, but apparently ACLiC needs the full environment since it uses the compiler
Anyway, glad to see it solves your problem (somehow)

Cheers, Bertrand

Is there a windows-specific trick to get ROOT to find the import .lib files? I have tried:

gSystem->AddDynamicPath("-L%RISKUTILS_LIB%");
gSystem->Setenv(“LD_LIBRARY_PATH”,"%RISKUTILS_LIB%");
gSystem->AddLinkedLibs("-LIBPATH:%RISKUTILS_LIB% util.lib option_pricing.lib");

…and I have included the diretctory in my PATH env variable. So far, the only thing that works is copying the .lib files to the local directory. Then I can get my .dll functions to work and the code runs. I feel I have missed something simple. I know this worked on my older machine some years ago.

 - John

There is no LD_LIBRARY_PATH on Windows, and I’m not sure what gSystem->AddDynamicPath() does on Windows (only the DLLs have to be in the PATH). I’ll check how to do it and let you know

So gSystem->AddLinkedLibs("-LIBPATH:%RISKUTILS_LIB%"); works for me. I moved libEGPythia6.lib from %ROOTSYS%\lib to C:\Users\bellenot\bin\Fortran, then::

C:\Users\bellenot\rootdev>set RISKUTILS_LIB=C:\Users\bellenot\bin\Fortran

C:\Users\bellenot\rootdev>root -l
root [0] gSystem->AddLinkedLibs("-LIBPATH:%RISKUTILS_LIB%");
root [1] gSystem->GetLinkedLibs()
(const char *) "-LIBPATH:%ROOTSYS%\lib libCore.lib  -LIBPATH:%RISKUTILS_LIB%"
root [2] gSystem->Getenv("RISKUTILS_LIB")
(const char *) "C:\Users\bellenot\bin\Fortran"
root [3] gSystem->Exec("dir %RISKUTILS_LIB%")
 Volume in drive C is Windows
 Volume Serial Number is 080D-7146

 Directory of C:\Users\bellenot\bin\Fortran

02/08/2021  19:14    <DIR>          .
02/08/2021  19:14    <DIR>          ..
01/12/2014  18:14    <DIR>          BIN
02/08/2021  19:14    <DIR>          lib
14/07/2021  15:44            66,682 libEGPythia6.lib
               1 File(s)         66,682 bytes
               4 Dir(s)  70,477,754,368 bytes free
(int) 0
root [4] .L pythiaExample.C++
Info in <TWinNTSystem::ACLiC>: creating shared library C:/Users/bellenot/rootdev/pythiaExample_C.dll
pythiaExample_C_ACLiC_dict.cxx
   Creating library C:/Users/bellenot/rootdev\pythiaExample_C.lib and object C:/Users/bellenot/rootdev\pythiaExample_C.exp
pythiaExample_C_ACLiC_dict.cxx
   Creating library C:/Users/bellenot/rootdev\pythiaExample_C.lib and object C:/Users/bellenot/rootdev\pythiaExample_C.exp
root [5]

So I think gSystem->AddLinkedLibs("-LIBPATH:%RISKUTILS_LIB% util.lib option_pricing.lib"); only should work. If it really doesn’t, then I’ll have to try with a more complex example…

It really doesn’t work (for me). Here is the compilation error:

‘’’
root [0] .L spot_v_value.cpp++
Info in TWinNTSystem::ACLiC: creating shared library c:/000-WORKAREA/analysis/TeamKrane/seminars/optionTrading/zzz-rootBuildFiles/spot_v_value_cpp.dll
spot_v_value_cpp_ACLiC_dict.cxx
LINK : fatal error LNK1104: cannot open file ‘option_pricing.lib’
Error in : Executing ‘cl -Z7 -nologo -TP -c -nologo -IC:/Schwabware/root/root_src/build/win -FIw32pragma.h -FIsehmap.h -Zc:cplusplus -MD -GR -EHsc- -W3 -wd4141 -wd4291 -wd4244 -wd4049 -D_WIN32 -D_XKEYCHECK_H -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS -I%ROOTSYS%\include -I%RISKUTILS_INC% -D__ACLIC “c:\000-WORKAREA\analysis\TeamKrane\seminars\optionTrading\zzz-rootBuildFiles\spot_v_value_cpp_ACLiC_dict.cxx” -Fo"c:\000-WORKAREA\analysis\TeamKrane\seminars\optionTrading\zzz-rootBuildFiles\spot_v_value_cpp_ACLiC_dict.obj" && bindexplib spot_v_value_cpp “c:\000-WORKAREA\analysis\TeamKrane\seminars\optionTrading\zzz-rootBuildFiles\spot_v_value_cpp_ACLiC_dict.obj” > “c:\000-WORKAREA\analysis\TeamKrane\seminars\optionTrading/zzz-rootBuildFiles”\spot_v_value_cpp.def && lib -nologo -MACHINE:IX86 -out:“c:\000-WORKAREA\analysis\TeamKrane\seminars\optionTrading/zzz-rootBuildFiles”\spot_v_value_cpp.lib “c:\000-WORKAREA\analysis\TeamKrane\seminars\optionTrading\zzz-rootBuildFiles\spot_v_value_cpp_ACLiC_dict.obj” -def:“c:\000-WORKAREA\analysis\TeamKrane\seminars\optionTrading/zzz-rootBuildFiles”\spot_v_value_cpp.def && link -nologo “c:\000-WORKAREA\analysis\TeamKrane\seminars\optionTrading\zzz-rootBuildFiles\spot_v_value_cpp_ACLiC_dict.obj” -DLL -out:“c:\000-WORKAREA\analysis\TeamKrane\seminars\optionTrading/zzz-rootBuildFiles”\spot_v_value_cpp.dll “c:\000-WORKAREA\analysis\TeamKrane\seminars\optionTrading/zzz-rootBuildFiles”\spot_v_value_cpp.exp -LIBPATH:%ROOTSYS%\lib -LIBPATH:%RISKUTILS_LIB% -LIBPATH:%ROOTSYS%\lib util.lib option_pricing.lib libCore.lib ntdll.lib KERNEL32.lib libRint.lib libCore.lib SHELL32.lib cfgmgr32.lib shcore.lib msvcrt.lib RPCRT4.lib advapi32.lib powrprof.lib shlwapi.lib GDI32.lib USER32.lib ole32.lib WSOCK32.lib WS2_32.lib IPHLPAPI.lib WindowsCodecs.lib MSIMG32.lib IMM32.lib dhcpcsvc.lib OLEAUT32.lib WINSPOOL.lib bcrypt.lib VERSION.lib PROPSYS.lib ntmarta.lib USERENV.lib libRIO.lib libThread.lib libCling.lib uxtheme.lib CoreMessaging.lib libMathCore.lib Oleacc.lib libHist.lib libMatrix.lib libGraf.lib libGpad.lib libCore.lib kernel32.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib && if EXIST “c:\000-WORKAREA\analysis\TeamKrane\seminars\optionTrading/zzz-rootBuildFiles”\spot_v_value_cpp.dll.manifest" ( mt -nologo -manifest “c:\000-WORKAREA\analysis\TeamKrane\seminars\optionTrading/zzz-rootBuildFiles”\spot_v_value_cpp.dll.manifest" “-outputresource:“c:\000-WORKAREA\analysis\TeamKrane\seminars\optionTrading/zzz-rootBuildFiles”\spot_v_value_cpp.dll;2” && del “c:\000-WORKAREA\analysis\TeamKrane\seminars\optionTrading/zzz-rootBuildFiles”\spot_v_value_cpp.dll.manifest" )’ failed!
root [1]
‘’’

OK, I’ll investigate more. In the meanwhile, can you post the output of gSystem->GetLinkedLibs(), gSystem->Getenv("RISKUTILS_LIB") and gSystem->Exec("dir %RISKUTILS_LIB%")?

I am absolutely thrilled to have you looking at this!

root [8] gSystem->GetLinkedLibs()
(const char *) “-LIBPATH:%ROOTSYS%\lib libCore.lib -LIBPATH:%RISKUTILS_LIB% option_pricing.lib util.lib”
root [9] gSystem->Getenv(“RISKUTILS_LIB”)
(const char *) “C:\Schwabware\krane_risk-utils\lib”
root [10] gSystem->Exec(“dir %RISKUTILS_LIB%”)
Volume in drive C is OSDisk
Volume Serial Number is 2E9C-EF01

Directory of C:\Schwabware\krane_risk-utils\lib

07/28/2021 02:16 PM .
07/28/2021 02:16 PM …
07/28/2021 12:49 PM 48,128 option_pricing.dll
07/28/2021 12:49 PM 35,348 option_pricing.lib
07/28/2021 12:49 PM 140,800 option_pricing_deb.dll
07/28/2021 12:49 PM 35,748 option_pricing_deb.lib
07/28/2021 12:49 PM 1,323,008 option_pricing_deb.pdb
07/28/2021 01:23 PM 13,312 rootassist.dll
07/28/2021 01:23 PM 5,676 rootassist.lib
07/28/2021 01:23 PM 1,052,672 rootassist.pdb
07/28/2021 01:23 PM 60,928 rootassist_deb.dll
07/28/2021 01:23 PM 5,828 rootassist_deb.lib
07/28/2021 01:23 PM 1,560,576 rootassist_deb.pdb
07/28/2021 12:46 PM 64,000 sqlapi.dll
07/28/2021 12:46 PM 14,246 sqlapi.lib
07/28/2021 12:45 PM 205,312 sqlapi_deb.dll
07/28/2021 12:45 PM 14,426 sqlapi_deb.lib
07/28/2021 12:45 PM 1,716,224 sqlapi_deb.pdb
07/28/2021 12:24 PM 107,520 util.dll
07/28/2021 12:24 PM 44,146 util.lib
07/28/2021 12:24 PM 1,814,528 util.pdb
07/28/2021 09:25 AM 411,648 util_deb.dll
07/28/2021 09:25 AM 44,662 util_deb.lib
07/28/2021 09:25 AM 3,223,552 util_deb.pdb
22 File(s) 11,942,288 bytes
2 Dir(s) 296,083,382,272 bytes free
(int) 0
root [11]

OK, thanks. I’ll try to reproduce the problem.

OK, for some reason ACLiC is also looking for the dll when using gSystem->AddLinkedLibs("-LIBPATH:%RISKUTILS_LIB% whatever.lib");, so can you try to simply add RISKUTILS_LIB to your PATH (e.g. set PATH=%PATH%;%RISKUTILS_LIB%). Then using gSystem->AddLinkedLibs("-LIBPATH:%RISKUTILS_LIB% util.lib option_pricing.lib"); should work (at least it does for me)

1 Like

Hi Bertrand,

Yes, it is working now in the developer window. Thank you!

I still get the stack trace I originally mentioned while using CMD window and ROOT. That is why I opened this issue, but you have made this problem moot. I am happy to work in a dev window. Thank you so much for your tireless help!

 - John

You can try to fix this by setting the following environment variables either in the system env or in the user env:

VCIDEInstallDir=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\VC\
VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\
VCToolsInstallDir=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\
VCToolsRedistDir=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\14.24.28127\
VCToolsVersion=14.24.28314
VisualStudioVersion=16.0
VS160COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\
VSCMD_ARG_app_plat=Desktop
VSCMD_ARG_HOST_ARCH=x86
VSCMD_ARG_TGT_ARCH=x86
VSCMD_VER=16.4.5
VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\
windir=C:\WINDOWS
WindowsLibPath=C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.18362.0;C:\Program Files (x86)\Windows Kits\10\References\10.0.18362.0
WindowsSdkBinPath=C:\Program Files (x86)\Windows Kits\10\bin\
WindowsSdkDir=C:\Program Files (x86)\Windows Kits\10\
WindowsSDKLibVersion=10.0.18362.0\
WindowsSdkVerBinPath=C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\
WindowsSDKVersion=10.0.18362.0\
WindowsSDK_ExecutablePath_x64=C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\x64\
WindowsSDK_ExecutablePath_x86=C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools\
__DOTNET_ADD_32BIT=1
__DOTNET_PREFERRED_BITNESS=32
__VSCMD_PREINIT_PATH=C:\Python39-32\Scripts\;C:\Python39-32\;C:\Python37\Scripts\;C:\Python37\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\Git\cmd;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files\nodejs\;C:\Program Files\Microsoft VS Code\bin;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\CMake\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\bellenot\bin\gnuwin32\bin;C:\Users\bellenot\AppData\Local\Microsoft\WindowsApps;C:\Users\bellenot\bin;C:\Program Files (x86)\Microsoft VS Code\bin;C:\Python37;C:\Users\bellenot\bin\fortran\BIN;C:\Users\bellenot\AppData\Roaming\npm;

And obviously, you have to check their values in your own environment (i.e. don’t copy what I just pasted above)
But it’s simpler to start a VS command prompt, and they get updated when updating Visual Studio

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.