# VTK 9.6 for Windows 32 and 64 bit and Visual Studio 2026

**URL:** https://discourse.vtk.org/t/vtk-9-6-for-windows-32-and-64-bit-and-visual-studio-2026/16340
**Category:** Development
**Tags:** proposal
**Created:** [March 18, 2026, 4:43pm UTC](https://discourse.vtk.org/t/vtk-9-6-for-windows-32-and-64-bit-and-visual-studio-2026/16340 "2026-03-18T16:43:23Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![jonasolsson](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/j/d2c977/32.png) [@jonasolsson](https://discourse.vtk.org/u/jonasolsson)
#### Post date: [March 18, 2026, 4:43pm UTC](https://discourse.vtk.org/t/vtk-9-6-for-windows-32-and-64-bit-and-visual-studio-2026/16340/1 "2026-03-18T16:43:23Z")

</div>

I just built VTK 9.6 for both 32 bit and 64 bit with release configuration and Visual Studio 2026. It built without any issues.

I have an old project that was using VTK 6.3 and static libraries.

The old vtkCommonCore-6.3.lib for 32 bit was 11 MB

The new vtkCommonCore-9.6.lib for 32 bit is 454 MB and the 64 bit 605 MB.

I saw there was a commit to reduce size 9 months ago, [Reduce build time and binary directory size of vtkCommonCore and fix Windows debug build (!12133) · Merge requests · VTK / VTK · GitLab](https://gitlab.kitware.com/vtk/vtk/-/merge_requests/12133)

But libraries for 9.6 have clearly grown a lot, and the table for that request shows other compilers generates much smaller. And what does the master vs bulk mean in that table?

Also, I’d like to be able to build our application for 32 and 64 bits with same include files. Almost all include files are identical (tested using kdiff) for the two configurations, but a few include files have differences:

include\vtk-9.6\vtkcgns\src\cgnstypes.h:

CG\_BUILD\_64BIT

include\vtk-9.6\vtkhdf5\H5pubconf.h:

H5\_SIZEOF\_SIZE\_T

include\vtk-9.6\vtktiff\libtiff\tiffconf.h:

TIFF\_SSIZE\_T

include\vtk-9.6\vtkOptions.h:

VTK\_USE\_64BIT\_IDS and VTK\_USE\_64BIT\_TIMESTAMPS

I can modify the generated header files to determine these based on \_M\_X64, but it would be nice if I didn’t have to do that.

Jonas

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.vtk.org/u/ben.boeckel)
#### Post date: [March 19, 2026, 3:01pm UTC](https://discourse.vtk.org/t/vtk-9-6-for-windows-32-and-64-bit-and-visual-studio-2026/16340/2 "2026-03-19T15:01:09Z")

</div>

The hdf5 and tiff headers are generated based on configure checks. I’d love for us to just use the preprocessor for those, but it’s a large task. The others are also generated, but (I believe) are set based on user options.

One big difference is that 9.6 uses templates a lot more than 6.3 did, so it’s not surprising that they’re a lot bigger.

In the table, `master` is before the MR and `bulk` is as of the code the MR is proposing (`array-bulk-instantiation`).

---

<div class="post-metadata">

### Author: ![dgobbi](https://discourse.vtk.org/user_avatar/discourse.vtk.org/dgobbi/32/18_2.png) [@dgobbi](https://discourse.vtk.org/u/dgobbi)
#### Post date: [March 19, 2026, 6:14pm UTC](https://discourse.vtk.org/t/vtk-9-6-for-windows-32-and-64-bit-and-visual-studio-2026/16340/3 "2026-03-19T18:14:04Z")

</div>

> [@](#):
>
> VTK\_USE\_64BIT\_IDS and VTK\_USE\_64BIT\_TIMESTAMPS

You can set these to ON in your config so that they’re used for both 32-bit and 64-bit builds. This will cause a small performance hit on 32-bit systems, but it has the advantage of providing better compatibility. In particular, using a 32-bit timestamp can cause long-running apps to crash, and therefore 64-bit timestamps are a good idea even on 32-bit machines.
