further fixes to allow compilation on MS Visual Studio 2010 #32
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello,
I don't like playing the Windows guy here, but there are still some unresolved issues with Microsoft's C++ compiler.
The recent patches by @szabadka ensured the Brotli encoder compiles successfully when using MS Visual Studio 2013.
However, the problem is that the latest Python for Windows (versions 3.3 and 3.4) are compiled with Visual Studio 2010.
Now, from what I understood, there's a requirement that Python extensions be linked to the same C runtime library which Python itself uses:
https://docs.python.org/3.4/extending/windows.html
If that's the case, then we must define a
log2
(binary logarithm) function, which unfortunately is not present inmath.h
from Visual C++ 2010.Here's my attempt, which seemingly doesn't break anything else, since I only redefine log2 if
_MSC_VER <= 1600
.Through this patch, the Python extension can be built on Windows using the same compiler version used to build CPython itself.
Well, at least for Python 3.3 and 3.4... previous versions are still built with Visual Studio 2008, but I still had no luck with that.
Cheers,
C.