#15607: Problem compiled with VC2008 (15.00.30729.01): fatal error C1189: #error : TR1 not fully supported

214 views
Skip to first unread message

wxTrac

unread,
Oct 24, 2013, 10:15:00 AM10/24/13
to wx-...@googlegroups.com
Ticket URL: <http://trac.wxwidgets.org/ticket/15607>

#15607: Problem compiled with VC2008 (15.00.30729.01): fatal error C1189: #error :
TR1 not fully supported
----------------------+-----------------------------------------------------
Reporter: wx30test | Owner:
Type: defect | Status: new
Priority: critical | Milestone: 3.0
Component: wxMSW | Version: 3.0.0-rc1
Keywords: | Blockedby:
Patch: 0 | Blocking:
----------------------+-----------------------------------------------------
It seems the problem turn up from 2.9.1:

http://forums.wxwidgets.org/viewtopic.php?f=1&t=28461

and the line 353
{{{
#if defined(__VISUALC__) && (_MSC_FULL_VER >= 150030729)
}}}

should be
{{{
#if defined(__VISUALC__) && (_MSC_FULL_VER > 150030729)
}}}

i.e. '>' not '>='


--
Ticket URL: <http://trac.wxwidgets.org/ticket/15607>

wxTrac

unread,
Oct 24, 2013, 10:16:23 AM10/24/13
to wx-...@googlegroups.com
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:1>

#15607: Problem compiled with VC2008 (15.00.30729.01): fatal error C1189: #error :
TR1 not fully supported
----------------------+-----------------------------------------------------
Reporter: wx30test | Owner:
Type: defect | Status: new
Priority: critical | Milestone: 3.0
Component: wxMSW | Version: 3.0.0-rc1
Keywords: | Blockedby:
Patch: 0 | Blocking:
----------------------+-----------------------------------------------------

Comment(by wx30test):

Replying to [ticket:15607 wx30test]:
> It seems the problem turn up from 2.9.1:
>
> http://forums.wxwidgets.org/viewtopic.php?f=1&t=28461
>
> and the line 353
the line 353 of include/wx/defs.h
> {{{
> #if defined(__VISUALC__) && (_MSC_FULL_VER >= 150030729)
> }}}
>
> should be
> {{{
> #if defined(__VISUALC__) && (_MSC_FULL_VER > 150030729)
> }}}
>
> i.e. '>' not '>='


--
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:1>

wxTrac

unread,
Oct 25, 2013, 7:12:58 AM10/25/13
to wx-...@googlegroups.com
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:2>

#15607: Problem compiled with VC2008 (15.00.30729.01): fatal error C1189: #error :
TR1 not fully supported
----------------------+-----------------------------------------------------
Reporter: wx30test | Owner:
Type: defect | Status: new
Priority: critical | Milestone: 3.0
Component: wxMSW | Version: 3.0.0-rc1
Keywords: | Blockedby:
Patch: 0 | Blocking:
----------------------+-----------------------------------------------------

Comment(by vadz):

I don't understand this, all sources I could find describe 150030729 as
the value defined for VC9 SP1, e.g. see
[https://sourceforge.net/p/predef/wiki/Compilers/ here], and the release
notes for SP1 mention that it adds `<type_traits>` support. So it really
looks like it should work. What am I missing?


--
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:2>

Danny Scott

unread,
Oct 25, 2013, 7:35:52 AM10/25/13
to wx-...@googlegroups.com
in a similar question back in 2010. It may be that the SDK messed things up and uninstalling/reinstalling VS2008 may solve the problem.




--
To unsubscribe, send email to wx-dev+un...@googlegroups.com
or visit http://groups.google.com/group/wx-dev




--
Danny Scott

wxTrac

unread,
Oct 25, 2013, 8:16:49 AM10/25/13
to wx-...@googlegroups.com
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:3>

#15607: Problem compiled with VC2008 (15.00.30729.01): fatal error C1189: #error :
TR1 not fully supported
-----------------------+----------------------------------------------------
Reporter: wx30test | Owner:
Type: defect | Status: closed
Priority: critical | Milestone: 3.0
Component: wxMSW | Version: 3.0.0-rc1
Resolution: invalid | Keywords:
Blockedby: | Patch: 0
Blocking: |
-----------------------+----------------------------------------------------
Changes (by vadz):

* status: new => closed
* resolution: => invalid


Comment:

Danny Scott has also posted
[http://social.msdn.microsoft.com/Forums/vstudio/en-US/b9c55996-054c-4aca-
a9f5-1d83b776110f/vs2008-sp1-tr1-not-fully-supported?forum=vcgeneral this
link] to the mailing list, so it really looks like the problem you have is
due to a bad MSVC and/or SP1 installation and is not something that should
be fixed at wx level.


--
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:3>

wxTrac

unread,
Oct 29, 2013, 10:17:49 AM10/29/13
to wx-...@googlegroups.com
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:4>

#15607: Problem compiled with VC2008 (15.00.30729.01): fatal error C1189: #error :
TR1 not fully supported
-----------------------+----------------------------------------------------
Reporter: wx30test | Owner:
Type: defect | Status: reopened
Priority: normal | Milestone: 3.0
Component: wxMSW | Version: 3.0.0-rc1
Resolution: | Keywords:
Blockedby: | Patch: 0
Blocking: |
-----------------------+----------------------------------------------------
Changes (by wx30test):

* priority: critical => normal
* status: closed => reopened
* resolution: invalid =>


Comment:

Replying to [comment:3 vadz]:
> Danny Scott has also posted
[http://social.msdn.microsoft.com/Forums/vstudio/en-US/b9c55996-054c-4aca-
a9f5-1d83b776110f/vs2008-sp1-tr1-not-fully-supported?forum=vcgeneral this
link] to the mailing list, so it really looks like the problem you have is
due to a bad MSVC and/or SP1 installation and is not something that should
be fixed at wx level.

I did installed a bad MSVC or SP1, but, instaled the express version and
was upgraded by windows automatic update. Though, you can say it was
mistake of Microsoft, it was the fact.

Whatever, it shoud not detect the compiler version (only) for library
relative things. Is it better if detecting it by headers or definations?


--
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:4>

wxTrac

unread,
Oct 29, 2013, 10:19:00 AM10/29/13
to wx-...@googlegroups.com
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:5>

#15607: Problem compiled with VC2008 (15.00.30729.01): fatal error C1189: #error :
TR1 not fully supported
-----------------------+----------------------------------------------------
Reporter: wx30test | Owner:
Type: defect | Status: reopened
Priority: normal | Milestone: 3.0
Component: wxMSW | Version: 3.0.0-rc1
Resolution: | Keywords:
Blockedby: | Patch: 0
Blocking: |
-----------------------+----------------------------------------------------

Comment(by wx30test):

Replying to [comment:4 wx30test]:
> Replying to [comment:3 vadz]:
> > Danny Scott has also posted
[http://social.msdn.microsoft.com/Forums/vstudio/en-US/b9c55996-054c-4aca-
a9f5-1d83b776110f/vs2008-sp1-tr1-not-fully-supported?forum=vcgeneral this
link] to the mailing list, so it really looks like the problem you have is
due to a bad MSVC and/or SP1 installation and is not something that should
be fixed at wx level.
>
> I did installed a bad MSVC or SP1, but, instaled the express version and
was upgraded by windows automatic update. Though, you can say it was
mistake of Microsoft, it was the fact.
Sorry, it shoud be "I did not installed a bad MSVC or SP1."
>
> Whatever, it shoud not detect the compiler version (only) for library
relative things. Is it better if detecting it by headers or definations?


--
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:5>

wxTrac

unread,
Oct 29, 2013, 10:49:38 AM10/29/13
to wx-...@googlegroups.com
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:6>

#15607: TR1 misdetected when using express VC9 version upgraded to full one
-----------------------+----------------------------------------------------
Reporter: wx30test | Owner:
Type: defect | Status: reopened
Priority: low | Milestone:
Component: build | Version: 3.0.0-rc1
Resolution: | Keywords:
Blockedby: | Patch: 0
Blocking: |
-----------------------+----------------------------------------------------
Changes (by vadz):

* priority: normal => low
* component: wxMSW => build
* milestone: 3.0 =>


Comment:

I don't see what can we do about this. I don't think we can detect this,
it's not like there is some symbol being defined when TR1 is available (if
there is one, I'm not aware of it). So the choice is between not dealing
correctly with the corner case of express version upgraded to the full one
or disabling TR1 for all VC9 users and I think the latter is an even worse
idea.


--
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:6>

wxTrac

unread,
Oct 29, 2013, 11:26:47 AM10/29/13
to wx-...@googlegroups.com
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:7>

#15607: TR1 misdetected when using express VC9 version upgraded to full one
-----------------------+----------------------------------------------------
Reporter: wx30test | Owner:
Type: defect | Status: reopened
Priority: low | Milestone:
Component: build | Version: 3.0.0-rc1
Resolution: | Keywords:
Blockedby: | Patch: 0
Blocking: |
-----------------------+----------------------------------------------------

Comment(by dconnet):

FYI: VC9/VC10 defines _HAS_TR1 if tr1 is present (via yvals.h). I include
<memory> to get that.
Then:
#if _MSC_VER < 1700 && (!defined(_HAS_TR1) || !_HAS_TR1)
... include boost here...
(that's just my usage to get shared pointers)

I don't know what happens in vc9-express...


--
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:7>

wxTrac

unread,
Oct 29, 2013, 11:35:32 AM10/29/13
to wx-...@googlegroups.com
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:8>

#15607: TR1 misdetected when using express VC9 version upgraded to full one
-----------------------+----------------------------------------------------
Reporter: wx30test | Owner:
Type: defect | Status: reopened
Priority: low | Milestone:
Component: build | Version: 3.0.0-rc1
Resolution: | Keywords:
Blockedby: | Patch: 0
Blocking: |
-----------------------+----------------------------------------------------

Comment(by vadz):

`_HAS_TR1` looks promising, thanks. Looking at my installation, it would
be enough to just include `<cstdlib>` to get its definition. However I'd
really like somebody using the express version to test it to ensure that
we don't break the build with it just before 3.0...


--
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:8>

wxTrac

unread,
Oct 29, 2013, 11:42:12 AM10/29/13
to wx-...@googlegroups.com
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:9>

#15607: TR1 misdetected when using express VC9 version upgraded to full one
-----------------------+----------------------------------------------------
Reporter: wx30test | Owner:
Type: defect | Status: reopened
Priority: low | Milestone:
Component: build | Version: 3.0.0-rc1
Resolution: | Keywords:
Blockedby: | Patch: 0
Blocking: |
-----------------------+----------------------------------------------------

Comment(by doscott):

To test won't you need a broken VS9 Express SP1 version? VS9 Express SP1
supports TR1.

Maybe I'm in a fog here, but aren't we now trying to make wx compile
successfully, ignoring a broken build environment? From what I've read TR1
depends on changed headers and a changed runtime library.


--
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:9>

wxTrac

unread,
Oct 29, 2013, 9:44:16 PM10/29/13
to wx-...@googlegroups.com
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:10>

#15607: TR1 misdetected when using express VC9 version upgraded to full one
-----------------------+----------------------------------------------------
Reporter: wx30test | Owner:
Type: defect | Status: reopened
Priority: low | Milestone:
Component: build | Version: 3.0.0-rc1
Resolution: | Keywords:
Blockedby: | Patch: 0
Blocking: |
-----------------------+----------------------------------------------------

Comment(by wx30test):

Replying to [comment:9 doscott]:
> To test won't you need a broken VS9 Express SP1 version? VS9 Express SP1
supports TR1.
>
> Maybe I'm in a fog here, but aren't we now trying to make wx compile
successfully, ignoring a broken build environment? From what I've read TR1
depends on changed headers and a changed runtime library.

I don't think there's any other way to get VC2008 express version upgrade
to VC2008 express SP1 except by windows update which seems upgrading the
binaries only.

_HAS_TR1 works for my environment.


--
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:10>

David Connet

unread,
Oct 29, 2013, 11:08:53 PM10/29/13
to wx-...@googlegroups.com
On 10/29/2013 6:44 PM, wxTrac wrote:
> I don't think there's any other way to get VC2008 express version upgrade
> to VC2008 express SP1 except by windows update which seems upgrading the
> binaries only.

That just doesn't sound right... I've never known a VC service pack to
come down via windows update. The runtime, yes, but not the Visual
Studio SP. And I'm pretty sure the SP applies to all Visual Studio
products including express. But then I haven't used VC2008 express so I
could be way off base...

Dave

Danny Scott

unread,
Oct 30, 2013, 7:04:15 AM10/30/13
to wx-...@googlegroups.com
This is the ISO image. Anyone planning on using VC2008 should save a copy as the older versions are starting to disappear.





--
Danny Scott

wxTrac

unread,
Oct 30, 2013, 8:16:58 AM10/30/13
to wx-...@googlegroups.com
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:11>

#15607: TR1 misdetected when using express VC9 version upgraded to full one
-----------------------+----------------------------------------------------
Reporter: wx30test | Owner:
Type: defect | Status: reopened
Priority: low | Milestone:
Component: build | Version: 3.0.0-rc1
Resolution: | Keywords:
Blockedby: | Patch: 0
Blocking: |
-----------------------+----------------------------------------------------

Comment(by vadz):

Unfortunately your environment is not real VC2008 express any more... OTOH
the odds of finding someone who uses VC2008 Express without SP1 are
probably pretty slim right now. I'm torn here, on one hand I really don't
want to break something just before 3.0, OTOH it seems pretty unlikely
that any compiler version would define `_HAS_TR1` just to fool with us.

What do the others think?


--
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:11>

wxTrac

unread,
Oct 30, 2013, 8:50:36 AM10/30/13
to wx-...@googlegroups.com
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:12>

#15607: TR1 misdetected when using express VC9 version upgraded to full one
-----------------------+----------------------------------------------------
Reporter: wx30test | Owner:
Type: defect | Status: reopened
Priority: low | Milestone:
Component: build | Version: 3.0.0-rc1
Resolution: | Keywords:
Blockedby: | Patch: 0
Blocking: |
-----------------------+----------------------------------------------------

Comment(by doscott):

I believe if you have a clean install of VC2008 Express without SP1, there
will be no problems. I had this happen to me last year, with SP1, and I
can't recall exactly the cause, but I am fairly certain that installing a
Windows SDK messed up the Express installation, and simply doing a repair
install of VC fixed it.

If anything is to be done then I would think issuing an error about a
messed up VS installation would be more appropriate than silently
proceeding.


--
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:12>

wxTrac

unread,
Oct 30, 2013, 10:49:52 AM10/30/13
to wx-...@googlegroups.com
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:13>

#15607: TR1 misdetected when using express VC9 version upgraded to full one
-----------------------+----------------------------------------------------
Reporter: wx30test | Owner:
Type: defect | Status: reopened
Priority: low | Milestone:
Component: build | Version: 3.0.0-rc1
Resolution: | Keywords:
Blockedby: | Patch: 0
Blocking: |
-----------------------+----------------------------------------------------

Comment(by wx30test):

Replying to [comment:12 doscott]:
> I believe if you have a clean install of VC2008 Express without SP1,
there will be no problems. I had this happen to me last year, with SP1,
and I can't recall exactly the cause, but I am fairly certain that
installing a Windows SDK messed up the Express installation, and simply
doing a repair install of VC fixed it.
>
> If anything is to be done then I would think issuing an error about a
messed up VS installation would be more appropriate than silently
proceeding.

It may be caused by "Visual Studio 2008 Express Editions SP1 Beta" update:
http://support.microsoft.com/kb/952283

I had tested building with newly installation of VC2008 and VC2008 with
SP1, both worked fine.


--
Ticket URL: <http://trac.wxwidgets.org/ticket/15607#comment:13>
Reply all
Reply to author
Forward
0 new messages