GordonLElliott / Easy-PQXX-Build-for-Windows-Visual-Studio

Quickly build libpqxx, the official C++ client API for PostgreSQL, in Windows environment with Visual Studio. Create both Debug and Release configurations with optional efficiency patches, install in Program Files directory, create property sheets to easily use in Visual Studio applications, with named versions for configurations, and options.
BSD 3-Clause "New" or "Revised" License
12 stars 6 forks source link

PostgreSQL DLL library list #3

Open GordonLElliott opened 4 years ago

GordonLElliott commented 4 years ago

The Easy-PQXX batch file contains lists of PostgreSQL DLL files needed, on a per-version basis. The user selects the version with a variable in the file, and the correct list is selected.

However I have only configured (as of this post) for the Version 12.

Now the number of versions will be limited, I was not expectingto go back beyond version 10, I'm not even sure the new libpqxx is compatible with the older libpq from those versions.

So I need to collect the list required for Version 11, and Version 10 with any differences between the x64 and Win32 versions. And then test all 4 configurations.

GordonLElliott commented 4 years ago

Now have at least the loading of DLLs on Win32 version with PostgreSQL 10. Compiles and starts with the Property Page for the 32 bit version loaded as only configuration action beyond the project's C++ 17 declaration. Have not tested for operation yet.

GordonLElliott commented 4 years ago

Using the "runner" application in both 32 and 64 bit builds of libpqxx using the batch file, I have tested the libpqxx_DLL.props page. The runner application needs DLLs, and it is especially difficult to supply them to both 32 and 64 bit applications at the same time except by copying to the respective execute directory. That is accomplished in the DLL property page at the time of project build.

So the current version uses PostgreSQL version 12 in 64 bit, and version10 in 32 bit, and the DLL library list works. I still have not filled out the list for version 10 in 64 bit (might be the same?), and version 11 in 64 bit (versions 11 and 12 are only compiled with Windows installers for 64 bit operating systems).

So the 'ALL' property pages have been tested in these same versions on another application but only tested that the application started. Here we use local copies of the same library build, and run the full test suite provided in the libpqxx build. So we have partial confirmation of both property sheets and DLL list using different methods on versions 10 and 12.

GordonLElliott commented 4 years ago

Latest version has a complete DLL list for each case of PostgreSQL 10 (both Win32 and x64), 11 and 12 (x64 only). Since they only seem to change names for Win32, I think it is correct for all versions, but only tested 10 (Win32) and 12 (x64).