Compilation error on Windows 11

Hello, I’ve cloned the repository GitHub - NGSolve/ngsolve: Netgen/NGSolve is a high performance multiphysics finite element software. It is widely used to analyze models from solid mechanics, fluid dynamics and electromagnetics. Due to its flexible Python interface new physical equations and solution algorithms can be implemented easily. and followed the instruction to build from sources on a Windows 11 VM.

The build commands were:

cmake “…/src” -DCMAKE_INSTALL_PREFIX=“/c/Users/User/Desktop/netgen-src/install” -DUSE_PYTHON=OFF -DUSE_GUI=OFF
cmake --build . --config Release --target install

The nglib was correctly built, but not ngsolve. Errors follow:

C:\Users\User\Desktop\netgen-src\src\fem\symbolicintegrator.cpp(525,5): error C3861: ‘assert’: identifier not found [C:\Users\User\Desktop\netgen-src\build\ngsolve\fem\ngfem.vcxproj] [C:\Users\User\Desktop\netgen-src\build\ngsolve.vcxproj]
C:\Users\User\Desktop\netgen-src\src\fem\symbolicintegrator.cpp(561,5): error C3861: ‘assert’: identifier not found [C:\Users\User\Desktop\netgen-src\build\ngsolve\fem\ngfem.vcxproj] [C:\Users\User\Desktop\netgen-src\build\ngsolve.vcxproj]
C:\Users\User\Desktop\netgen-src\src\fem\symbolicintegrator.cpp(597,5): error C3861: ‘assert’: identifier not found [C:\Users\User\Desktop\netgen-src\build\ngsolve\fem\ngfem.vcxproj] [C:\Users\User\Desktop\netgen-src\build\ngsolve.vcxproj]
C:\Users\User\Desktop\netgen-src\src\fem\symbolicintegrator.cpp(628,5): error C3861: ‘assert’: identifier not found [C:\Users\User\Desktop\netgen-src\build\ngsolve\fem\ngfem.vcxproj] [C:\Users\User\Desktop\netgen-src\build\ngsolve.vcxproj]
newtonCF.cpp
C:\Users\User\Desktop\netgen-src\src\fem\newtonCF.cpp(364,9): error C3861: ‘assert’: identifier not found [C:\Users\User\Desktop\netgen-src\build\ngsolve\fem\ngfem.vcxproj] [C:\Users\User\Desktop\netgen-src\build\ngsolve.vcxproj]
C:\Users\User\Desktop\netgen-src\src\fem\newtonCF.cpp(435,19): error C3861: ‘assert’: identifier not found [C:\Users\User\Desktop\netgen-src\build\ngsolve\fem\ngfem.vcxproj] [C:\Users\User\Desktop\netgen-src\build\ngsolve.vcxproj]
C:\Users\User\Desktop\netgen-src\src\fem\newtonCF.cpp(1074,7): error C3861: ‘assert’: identifier not found [C:\Users\User\Desktop\netgen-src\build\ngsolve\fem\ngfem.vcxproj] [C:\Users\User\Desktop\netgen-src\build\ngsolve.vcxproj]
tensorproductintegrator.cpp
tensorcoefficient.cpp
Generating Code…
ngla.vcxproj → C:\Users\User\Desktop\netgen-src\build\ngsolve\linalg\ngla.dir\RelWithDebInfo\ngla.lib
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(254,5): error MSB8066: Custom build for ‘C:\Users\User\Desktop\netgen-src\build\CMakeFiles\680077eaf07cf647eee0e9bc21d20f3b\ngsolve-check_submodules1.rule;C:\Users\User\Desktop\netgen-src\build\CMakeFiles\680077eaf07cf647eee0e9bc21d20f3b\ngsolve-build.rule;C:\Users\User\Desktop\netgen-src\build\CMakeFiles\680077eaf07cf647eee0e9bc21d20f3b\ngsolve-install.rule;C:\Users\User\Desktop\netgen-src\build\CMakeFiles\7be7d2e53e1dd6d950d35b4c99bf97a5\ngsolve-complete.rule;C:\Users\User\Desktop\netgen-src\build\CMakeFiles\5c0c84428913b213191967ef7c8477e2\ngsolve.rule;C:\Users\User\Desktop\netgen-src\src\CMakeLists.txt’ exited with code 1. [C:\Users\User\Desktop\netgen-src\build\ngsolve.vcxproj]

Can you help me?

Thanks,
Stenio

I was able to solve the problem commenting out the assertions.
If anyone knows a better solution let me know.

Thanks

looks like we are missing an #include < assert > , but it goes through many compilers.
Which compiler are you using ?

I guess so. The compiler is Visual Studio 2022.