ngspice may be compiled by MS Visual Studio Community 2019. For compilation you need the GNU bison parser generator. A ready for windows compiled variant can be downloaded as win_flex_bison-latest.zip from http://sourceforge.net/projects/winflexbison/files/ Create the directory ..\..\flex-bison relative to the current directory ngspice/visualc, and unzip win_flex_bison-latest.zip there. So for example if you have D:\myspice\ngspice, you will then have directory D:\myspice\flex-bison which contains win_bison.exe and others. We will invoke the win_bison.exe file in this directory during the visual studio compilation. Visual Studio is started by double click on vngspice.sln. Select 'Build' 'Configuration Manager' and then choose one of the build options, e.g. 'Active solution configuration' with its Debug, Release or ReleaseOMP GUI versions or the equivalent console version (no GUI, no graphical interface), and 'Active solution platform', generating either 32 bit code by choosing 'x86', or 64 bit code by 'x64'. Selection of 'Build' and then 'Rebuild solution' will build complete ngspice, starting with XSPICE, where cmpp.exe is made first, then all code models are compiled as dlls named *.cm, and and afterwards ngspice.exe is generated. Finally make-install-vngspice.bat is called to copy ngspice.exe, code models and spinit into a directory tree, that resembles the one generated by mingw 'make install'. An example tree for ReleaseOMP 32 bit is given below. C:\Spice\ bin\ ngspice.exe vcomp140.dll lib\ spice\ analog.cm digital.cm spice2poly.cm extradev.cm extravt.cm table.cm share\ ngspice scripts\ spinit If spinit is not found in the directory cited above, ngspice.exe also searches for spinit in its own directory. If you give a relative path for the codemodel directories in spinit, you may define your own directory tree. The dll version of ngspice, ngspice.dll, is made as a standalone dll (no codemodels, no installation) by double click on sharedspice.sln. However ngspice.dll may use the directory tree and code models as created above. If you want to add fftw support for the fft commands, download the Windows variant of fftw from http://www.fftw.org/install/windows.html. Create the directories ../../fftw-3.3.4-dll32 ../../fftw-3.3.4-dll64 relative from this directory right here, and unzip there the 32 bit and 64 bit downloads. Visual Studio is stated by double click on vngspice-fftw.sln. The following procedure is the same as cited above.