Building vtk 9.4.0 on windows Java

Ngwarai, your visual studio configuration is probably fine.

Please remember that amd64 and x86_64 refer to the same CPU architecture. If you see them both it does not mean there is anything wrong with your configuration. The important thing is that you want to use the x64 (64-bit) version of the compiler, unless you intend to do a 32-bit build, and you want to avoid arm64 (but standard Visual Studio installs don’t include arm64, so I don’t think you need to worry about it).

Yesterday, I tried building VTK/Java myself with the Visual Studio 2022 generator and msbuild, and I saw the same error that you reported:

Error opening dependency file F:/vtk-build-java/Wrapping/Java/CMakeFiles/vtkChartsCoreJava.dir/vtkAxis.java.d

Then I tried with the Ninja generator in the “x64 Native Tools Command Prompt for VS 2022”, and the build was successful. Here is the last line of the build log:

[16020/16020] Linking Java static library lib\java\vtk.jar

I ran cmake in the command prompt as follows:

cmake ..\VTK-9.4.0 -GNinja -DCMAKE_BUILD_TYPE=Release -DVTK_WRAP_JAVA=ON

Then, to build VTK in the command prompt, I just typed ninja:

ninja

The following is a summary of my CMakeCache.txt:

BUILD_SHARED_LIBS:BOOL=ON
CMAKE_BUILD_TYPE:STRING=Release
CMAKE_CXX_COMPILER:FILEPATH=C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.42.34433/bin/Hostx64/x64/cl.exe
CMAKE_C_COMPILER:FILEPATH=C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.42.34433/bin/Hostx64/x64/cl.exe
CMAKE_LINKER:FILEPATH=C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.42.34433/bin/Hostx64/x64/link.exe
CMAKE_MAKE_PROGRAM:FILEPATH=C:/PROGRA~1/MIB055~1/2022/COMMUN~1/Common7/IDE/COMMON~1/MICROS~1/CMake/Ninja/ninja.exe
VTK_WRAP_JAVA:BOOL=ON
JAVA_AWT_INCLUDE_PATH:PATH=C:/Program Files/Java/jdk1.8.0_191/include
JAVA_AWT_LIBRARY:FILEPATH=C:/Program Files/Java/jdk1.8.0_191/lib/jawt.lib
JAVA_INCLUDE_PATH:PATH=C:/Program Files/Java/jdk1.8.0_191/include
JAVA_INCLUDE_PATH2:PATH=C:/Program Files/Java/jdk1.8.0_191/include/win32
JAVA_JVM_LIBRARY:FILEPATH=C:/Program Files/Java/jdk1.8.0_191/lib/jvm.lib
Java_IDLJ_EXECUTABLE:FILEPATH=C:/Program Files/Java/jdk1.8.0_191/bin/idlj.exe
Java_JARSIGNER_EXECUTABLE:FILEPATH=C:/Program Files/Java/jdk1.8.0_191/bin/jarsigner.exe
Java_JAR_EXECUTABLE:FILEPATH=C:/Program Files/Java/jdk1.8.0_191/bin/jar.exe
Java_JAVAC_EXECUTABLE:FILEPATH=C:/Program Files/Java/jdk1.8.0_191/bin/javac.exe
Java_JAVADOC_EXECUTABLE:FILEPATH=C:/Program Files/Java/jdk1.8.0_191/bin/javadoc.exe
Java_JAVAH_EXECUTABLE:FILEPATH=C:/Program Files/Java/jdk1.8.0_191/bin/javah.exe
Java_JAVA_EXECUTABLE:FILEPATH=C:/Program Files/Java/jdk1.8.0_191/bin/java.exe

I used the cmake and ninja that Microsoft provides with Visual Studio 2022, but any recent version of cmake and ninja should work just as well.

cmake --version
cmake version 3.29.5-msvc4
ninja --version
1.12.1