This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: pyconfig.h not compatible with MS VC++ Express Edition
Type: compile error Stage:
Components: Build Versions: Python 2.5
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: amaury.forgeotdarc, fdrake, johanneshoff, loewis, weegreenblobbie
Priority: normal Keywords:

Created on 2007-10-18 17:06 by weegreenblobbie, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (7)
msg56531 - (view) Author: Nick (weegreenblobbie) Date: 2007-10-18 17:06
pyconfig.h checks for _MSC_VER and based on its value decides to include
<basetsd.h>.

MS VC++ Express reports _MSC_VER to be 1400 but does _NOT_ have the file
basetsd.h.

So when including Python.h with the Microsoft VC Express compiler,
pyconfig.h will try to include the non existing basetsd.h and compiling
fails.
msg56540 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2007-10-18 19:46
What version of VC++ Express are you specifically referring to?
msg56554 - (view) Author: Nick (weegreenblobbie) Date: 2007-10-19 14:52
MS VC++ 2005 Express Edition
msg56568 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2007-10-19 22:13
I found that BaseTsd.h is part of the Windows SDK, which is not included
in the Express Edition. It can be installed separately.

OTOH, the python core still compiles without the #include <basetsd.h>
(using VC++ 2005 Express Edition).
What about other compilers? What is this file needed for?
msg65049 - (view) Author: Johannes Hoff (johanneshoff) Date: 2008-04-06 18:35
This is still the case with Visual Studio Express 2008. It can be fixed 
by downloading the Windows SDK, though it would be nicer if this was 
not necessary.
Download link: http://blogs.msdn.com/windowssdk/archive/2008/02/07/
windows-sdk-rtms.aspx
I recommend the "web install", since only the headers and libraries are 
needed, not the whole 1GB blob that comes with it.

Amaury: The file python.hpp, thus basetsd.h, is used by boost-python.
msg65259 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2008-04-09 19:07
> Amaury: The file python.hpp, thus basetsd.h, is used by boost-python.

I don't think that was the question. Instead, the question was: why
is basetsd.h needed in the first place, when compiling Python?

Apparently, basetsd was added in r15912. Fred, can you remember what
the rationale was?
msg65292 - (view) Author: Fred Drake (fdrake) (Python committer) Date: 2008-04-10 13:37
On Apr 9, 2008, at 3:07 PM, Martin v. Löwis wrote:
> Fred, can you remember what the rationale was?

No; sorry.  I didn't even remember that I'd ever built Python on  
Windows.  Some things I've blocked out.
History
Date User Action Args
2022-04-11 14:56:27adminsetgithub: 45638
2008-04-10 13:37:23fdrakesetmessages: + msg65292
2008-04-09 19:07:56loewissetnosy: + fdrake
messages: + msg65259
2008-04-06 18:35:18johanneshoffsetnosy: + johanneshoff
messages: + msg65049
2008-01-12 03:12:35christian.heimessetstatus: open -> closed
resolution: out of date
2007-10-19 22:13:18amaury.forgeotdarcsetnosy: + amaury.forgeotdarc
messages: + msg56568
2007-10-19 14:52:09weegreenblobbiesetmessages: + msg56554
2007-10-18 19:46:37loewissetnosy: + loewis
messages: + msg56540
2007-10-18 17:06:17weegreenblobbiecreate