-
Notifications
You must be signed in to change notification settings - Fork 83
Description
Useful references:
- https://learn.microsoft.com/en-us/cpp/build/walkthrough-compile-a-c-program-on-the-command-line?view=msvc-170
- https://github.com/microsoft/vswhere
================
Hi!
Thank you for your work! When you'll do Windows support, here are some details for searching and integrating with Visual Studio (for good or bad, it's a main development tool for C/C++ on Windows).
Some environmental variables provided by Visual Studio Developer console (in my example I have VS installed on non standard disk "D", so that's edge case for you from the start and I have optional Clang installation from VS):
VisualStudioVersion=17.0
VSINSTALLDIR=D:\Program Files\Microsoft Visual Studio\2022\Community\
VS170COMNTOOLS=D:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\
VCIDEInstallDir=D:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\
VCINSTALLDIR=D:\Program Files\Microsoft Visual Studio\2022\Community\VC\
VCToolsInstallDir=D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\
VCToolsRedistDir=D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.34.31931\Also, I have manually configured LLVM_INSTALL_DIR common variable for LLVM/Clang, It can be configured via standalone LLVM/Clang installation, that is independent of VS:
LLVM_INSTALL_DIR=D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64Personally I prefer Clang to Microsoft toolchain, because Clang have more meaningful error messages.
For `x64` target env this gives forllowing paths:
CL:
D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\bin\Hostx64\x64\cl.exe
Link:
D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\bin\Hostx64\x64\link.exe
Clang:
D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin\clang.exe
LLD:
D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\x64\bin\lld.exe
For `x86` target this gives forllowing paths:
CL:
D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\bin\Hostx86\x86\cl.exe
Link:
D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.35.32215\bin\Hostx86\x86\link.exe
Clang:
D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\bin\clang.exe
LLD:
D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\bin\lld.exe
Originally posted by @Zekfad in #3 (comment)