===== Compile Multiwfn by Intel oneAPI in Windows 64 bit system ======

In Windows platform, Multiwfn can only be compiled by Intel oneAPI (its Fortran component was formerly known as Intel Visual Fortran). Below I describe how to compile Multiwfn using Intel oneAPI (at least versions 2023 and 2026 passed my test) with Microsoft Visual Studio (at least versions 2022 and 2026 passed my test), this is also the environment I am using for developing current Multiwfn version.

1 Boot up Visual Studio, create a new Intel Visual Fortran project named "Multiwfn" (Console Application - Empty Project), copy all content from Multiwfn source code package to the project folder, and then add all following files into "Source Files" of the current project:
• all .F and .f90 files (including the files in "libreta_hybrid" and "ext" subfolders, but do not add "ext\xlib.f90")
• disifl_d.lib

2 "Build" - "Configuration Manager", switch to "Release", in "Platform" select <New...>, click "OK", then click "Close". Now compilation mode has been changed from the default Win32 to x64 (i.e. Windows 64 bit).
PS: For relatively new Visual Studio versions, the default platform is x64, so you do not need to manually set

3 Enter "Project" - "Properties", choose "Fortran" tab, then
In "General" sub-tab, set "Multi-process Compilation" to "Yes (/MP)"
In "Optimization" sub-tab, set "Enable Matrix Multiply Library Call" to "Yes (/Qopt-matmul)".
In "Preprocessor" sub-tab, set "Preprocess Source File" to "Yes (/fpp)".
In "Code Generation" sub-tab, set "Enable Enhanced Instruction Set" to "Streaming SIMD Extensions 3" (If your CPU supports AVX, set to "Intel Advanced Vector Extensions")
In "Language" sub-tab, set "Process OpenMP Directives" to "Generate Parallel Code (/Qopenmp)".
In "Diagnostics" sub-tab, set "Disable Specific Diagnostics" to "8290,8291,6371,10316,6843,10182,6178".
In "Libraries" sub-tab, set "Runtime Library" to "Multithread", set "Use Intel Math Kernel Library" to "Parallel (/Qmkl:parallel)", set "Use Common Windows Libraries" to "Yes".
In "Command Line" sub-tab, add "/DINTEL_MKL" to the text box.

4 Choose "Linker" tab, then
In "Input" sub-tab, write "legacy_stdio_definitions.lib" in the "Additional Dependencies" textbox.
In "Command Line" sub-tab, add "/STACK:20000000000" (about 20GB) in "Additional Options" textbox.

5 Click "blockhrr_012345.f90" in Visual Studio by right mouse button, select "Properties", enter "Fortran" - "General", set "Optimization" to "Minimize Size (/O1)" (otherwise the compilation may take a few hours!)

6 Compiling this project by choosing "Build" - "Build Solution". Error may encounter during the compliation, it doesn't matter, in this case clicking "function.f90" by right mouse button, select "Compile" to solely compile this file, and then choose "Build" - "Build Solution" again, the compilation should normally continue.

Compilation of blockhrr_012345.f90 is the most time-consuming step, it usually takes a few minutes.

Finally you will get "x64\Release\Multiwfn.exe" in the project folder. Then copy this file into Multiwfn binary package to overwrite the existing one.