Build on Microsoft Windows with Microsoft Visual Studio 1. For Postgres 12 and higher you need libicu headers 2. Orafce library is linked with runtime library - this library should to use same platform toolset like Postgres server. 3. Start empty project 4. Add existing items - *.c and *.h files except "sqlscan.c". This file is compiled as include of sqlparse.c and should not be compiled as separate c file! 5. In configuration manager choose configuration - "Release" and platform. Platform must be same like your Postgres server. 6. V project properties set Under Configuration Properties -> General, set “Configuration Type” to “Dynamic Library (.dll)”. Under C/C++ -> Preprocessor Directives, add the directive “WIN32” Under C/C++ -> Code Generation, set “Enable C++ Exceptions” to “No” under “Advanced” set “Compile As” to “C Code” Under Linker -> Manifest File, set “Generate Manifest” to “No” Under Linker -> Input -> Additional Dependencies, add postgres.lib to the library list In the properties dialog, go to Configuration Properties -> C/C++ -> General. include\server\port\win32_msvc include\server\port\win32 include\server include You’ll also need to set the library path. Under “Linker”->”General”, in Additional Library Directories. In my case that’s C:\Program Files\PostgreSQL\12\lib. set Linker->General->Link Library Dependencies to No. 7. make build