Skip to content

Windows & MSVC support #15

@dcharkes

Description

@dcharkes

Useful references:

================

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\x64

Personally 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1A high priority bug; for example, a single project is unusable or has many test failurestype-enhancementA request for a change that isn't a bugtype-infraA repository infrastructure change or enhancement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions