Update to Visual Studio 2026

Open
#154 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 4 days

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
64/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
cpp, java

Research direction

Start with Makefile:21 and the Visual Studio 2026 compile command, then inspect src/main/native/org_cryptomator_windows_keychain_WindowsHello_Native.cpp around the experimental/coroutine include. Reproduce the native build with Visual Studio 2026 and compare the required compiler and header settings. Done means the Windows native integrations build successfully without the reported coroutine error.

Written by the indexing model from the issue text.

Description

Currently, the build system uses Visual Studio 2022.

Currently, a build with VS 2026 fails:

**********************************************************************
** Visual Studio 2026 Developer Command Prompt v18.7.0
** Copyright (c) 2026 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
mkdir "target/x64"
cl -EHsc -std:c++17 -LD -W4 -guard:cf \
	-Fe"src/main/resources/integrations-x64.dll" \
	-Fo"target/x64/" \
	-I"src\main\headers" -I"C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\25.0.3-9.0\x64\include" -I"C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\25.0.3-9.0\x64\include\win32" -I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\cppwinrt" src/main/native/org_cryptomator_windows_autostart_WinShellLinks_Native.cpp src/main/native/org_cryptomator_windows_keychain_WinDataProtection_Native.cpp src/main/native/org_cryptomator_windows_keychain_WindowsHello_Native.cpp src/main/native/org_cryptomator_windows_uiappearance_WinAppearance_Native.cpp \
	-link -NXCOMPAT -DYNAMICBASE \
	-implib:target/x64/integrations.lib \
	crypt32.lib shell32.lib ole32.lib uuid.lib user32.lib Advapi32.lib windowsapp.lib
Microsoft (R) C/C++ Optimizing Compiler Version 19.51.36247 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

org_cryptomator_windows_autostart_WinShellLinks_Native.cpp
src/main/native/org_cryptomator_windows_autostart_WinShellLinks_Native.cpp(37): warning C4267: 'argument': conversion from 'size_t' to 'jsize', possible loss of data
src/main/native/org_cryptomator_windows_autostart_WinShellLinks_Native.cpp(23): warning C4100: 'thisObj': unreferenced parameter
src/main/native/org_cryptomator_windows_autostart_WinShellLinks_Native.cpp(44): warning C4100: 'thisObj': unreferenced parameter
org_cryptomator_windows_keychain_WinDataProtection_Native.cpp
src/main/native/org_cryptomator_windows_keychain_WinDataProtection_Native.cpp(6): warning C4100: 'thisObj': unreferenced parameter
src/main/native/org_cryptomator_windows_keychain_WinDataProtection_Native.cpp(29): warning C4100: 'thisObj': unreferenced parameter
org_cryptomator_windows_keychain_WindowsHello_Native.cpp
C:\Program Files\Microsoft Visual Studio\18\Enterprise\VC\Tools\MSVC\14.51.36231\include\experimental/coroutine(37): error C2338: static assertion failed: 'error STL1011: The /await compiler option, <experimental/coroutine>, <experimental/generator>, and <experimental/resumable> are deprecated by Microsoft and will be REMOVED SOON. They are superseded by the C++20 <coroutine> and C++23 <generator> headers. You can define _SILENCE_EXPERIMENTAL_COROUTINE_DEPRECATION_WARNINGS to suppress this error for now.'
src/main/native/org_cryptomator_windows_keychain_WindowsHello_Native.cpp(68): warning C4267: 'argument': conversion from 'size_t' to 'jsize', possible loss of data
src/main/native/org_cryptomator_windows_keychain_WindowsHello_Native.cpp(72): warning C4267: 'argument': conversion from 'size_t' to 'jsize', possible loss of data
src/main/native/org_cryptomator_windows_keychain_WindowsHello_Native.cpp(124): warning C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
src/main/native/org_cryptomator_windows_keychain_WindowsHello_Native.cpp(407): warning C4267: 'argument': conversion from 'size_t' to 'winrt::array_view<const uint8_t>::size_type', possible loss of data
src/main/native/org_cryptomator_windows_keychain_WindowsHello_Native.cpp(409): warning C4267: 'argument': conversion from 'size_t' to 'winrt::array_view<const uint8_t>::size_type', possible loss of data
org_cryptomator_windows_uiappearance_WinAppearance_Native.cpp
src/main/native/org_cryptomator_windows_uiappearance_WinAppearance_Native.cpp(17): warning C4100: 'thisObject': unreferenced parameter
src/main/native/org_cryptomator_windows_uiappearance_WinAppearance_Native.cpp(29): warning C4100: 'thisObj': unreferenced parameter
Generating Code...
make: *** [Makefile:21: install] Error 2
Error:  Command execution failed.
Dominant language
Java
Stars
12
Forks
3
Avg merge
3d 16h
Merged PRs (30d)
4

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from cryptomator/integrations-win

All issues in cryptomator/integrations-win

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.