-
External libraries for Windows are now built automatically in the qpdf/external-libs repository and include openssl in addition to zlib and jpeg. Use these, and update the Windows build to build with the openssl crypto provider by default. We leave the native crypto provider enabled in case there is a problem with openssl and also to continue to exercise that code.
-
Since g++ (as of this writing) uses c++14 by default, this prevents me from accidentally using c++14 features.
-
This covers up forgetting to use QPDF_DLL and QPDF_DLL_CLASS.
-
Clang seems to be slightly stricter than gcc.
-
Have classes contain only a single private member of type PointerHolder<Members>. This makes it safe to change the structure of the Members class without breaking binary compatibility. Many of the classes already follow this pattern quite successfully. This brings in the rest of the class that are part of the public API.
-
Based on sizeof(size_t). Assumes 64 if not 32.