Skip to content

Switch Windows build to VS2022 (v143) toolset #626

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

marktsuchida
Copy link
Member

This includes the required fixes for TIScam, MeadowlarkLC, and DahengGalaxy.

This allows building with VS2022/v143 toolset

Closes micro-manager#580.
This allows building with VS2022/v143 toolset.

Closes micro-manager#578.
- `dev_Handle >= 0` was a compile error in VS2022/v143 toolset but the
  check was pointless because dev_Handle is not a signed integer (and
  probably wrong because dev_Handle is probably 0 upon failure; also
  dev_Handle is used before this check).

- Removed a call to `USBDRVD_GetPipeCount()` whose result was never used.

Closes micro-manager#579.
@marktsuchida
Copy link
Member Author

  • Confirm that the vcredist we ship with the Windows installer is at least as new as the VS2022 we use to build

@marktsuchida
Copy link
Member Author

  • Ant script (in micro-manager/micro-manager) needs to require VS2022

@marktsuchida
Copy link
Member Author

marktsuchida commented May 6, 2025

  • MMStudio crashes if MMCoreJ_wrap.dll is built with VS2022 and running with the currently-shipped JRE (Temurin 1.8.0_152)

Rescued by an MMCoreJ_wrap.dll (only) built with VS2019, or the latest Java 8 JRE (Temurin 1.8.0_452). So we need to upgrade our JRE first.

EDIT: This is probably because the JRE contains the C and C++ runtime DLLs, such as msvcp140.dll, and these get loaded before the vc_redist DLLs installed into the system. So the JRE also needs to be new enough to support the C++ version we're building with.

@marktsuchida
Copy link
Member Author

This should be good to merge after merging micro-manager/micro-manager#2100, but let's not do it today, in the interest of not changing more than one major thing in the same nightly build. (We already merged micro-manager/micro-manager#2101 today).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant