Uhhhh!!!! Header problem after installing (and uninstalling) VS2008 SP1.
-
My little application was compiling fine as is until I installed the VS2008 SP1 yesterday. I mean it compiled fine, then I installed the update, then I recompiled and started getting the following error:
1>------ Build started: Project: GTRNoteWorker, Configuration: Release Win32 ------
1>Compiling...
1>GTRNoteWorker.cpp
1>Automatically linking with ToolkitPro1321vc90S.lib
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\xtr1common(252) : error C2766: explicit specialization; 'std::tr1::_Is_integral<int>' has already been defined
1> C:\Program Files\Microsoft Visual Studio 9.0\VC\include\xtr1common(200) : see previous definition of '_Is_integral<int>'
1>Build log was saved at "file://c:\Coding\GTRNoteWorker - 2008\x86\Release\BuildLog.htm"
1>GTRNoteWorker - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========So I think OK, they tightened up something, so I checked to make sure I haven't included the header somewhere else ...then I realized that the error is stating that the thing has been defined already IN THE SAME HEADER file! I think I must be missing a define or something :mad: Any help would be appreciated! Thanks, Paul
-
My little application was compiling fine as is until I installed the VS2008 SP1 yesterday. I mean it compiled fine, then I installed the update, then I recompiled and started getting the following error:
1>------ Build started: Project: GTRNoteWorker, Configuration: Release Win32 ------
1>Compiling...
1>GTRNoteWorker.cpp
1>Automatically linking with ToolkitPro1321vc90S.lib
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\xtr1common(252) : error C2766: explicit specialization; 'std::tr1::_Is_integral<int>' has already been defined
1> C:\Program Files\Microsoft Visual Studio 9.0\VC\include\xtr1common(200) : see previous definition of '_Is_integral<int>'
1>Build log was saved at "file://c:\Coding\GTRNoteWorker - 2008\x86\Release\BuildLog.htm"
1>GTRNoteWorker - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========So I think OK, they tightened up something, so I checked to make sure I haven't included the header somewhere else ...then I realized that the error is stating that the thing has been defined already IN THE SAME HEADER file! I think I must be missing a define or something :mad: Any help would be appreciated! Thanks, Paul
You could prevent a header file from being included twice with a simple check:
#ifndef MYHEADER_H
#define MYHEADER_H// Insert your existing header content here
#endifIf this doesn't help, the error is indeed in the header content itself rather than a result of counting it twice. To give any assistance with that, you'll have to post it here :)
-
You could prevent a header file from being included twice with a simple check:
#ifndef MYHEADER_H
#define MYHEADER_H// Insert your existing header content here
#endifIf this doesn't help, the error is indeed in the header content itself rather than a result of counting it twice. To give any assistance with that, you'll have to post it here :)
Hi, Thanks for your suggestion! The header file is rather large and is part of VC9, C:\Program Files\Microsoft Visual Studio 9.0\VC\include\xtr1common.h. After doing a Google search, I see that MS implemented a new specification in SP1 and a lot of people are getting these "explicit specialization" messages. I won't call them errors since I probably am missing something, however I'm just going to uninstall VS2008 and re-install it without SP1. At least the application could be compiled, and run before SP1 ...I just don't have time to track this down or learn the new requirements at this point. Thank you again, Paul
-
Hi, Thanks for your suggestion! The header file is rather large and is part of VC9, C:\Program Files\Microsoft Visual Studio 9.0\VC\include\xtr1common.h. After doing a Google search, I see that MS implemented a new specification in SP1 and a lot of people are getting these "explicit specialization" messages. I won't call them errors since I probably am missing something, however I'm just going to uninstall VS2008 and re-install it without SP1. At least the application could be compiled, and run before SP1 ...I just don't have time to track this down or learn the new requirements at this point. Thank you again, Paul
Well, I finally tracked it down. It makes NO sense to me but after I changed the order of the header files, I got an error specifying there was not enough memory to compile the resources - the message suggested using the /Zmxxx option which I did. This got me passed the errors and such. I did get another unrelated error at the step of embedding the manifest file: Mt.exe not found. I searched for the exe and it was not in the bin folder (where I assumed it was before installing SP1) sooo - I pointed the search path to use VS2005's MT.EXE. What a mess, but it compiles and runs now!
-
Well, I finally tracked it down. It makes NO sense to me but after I changed the order of the header files, I got an error specifying there was not enough memory to compile the resources - the message suggested using the /Zmxxx option which I did. This got me passed the errors and such. I did get another unrelated error at the step of embedding the manifest file: Mt.exe not found. I searched for the exe and it was not in the bin folder (where I assumed it was before installing SP1) sooo - I pointed the search path to use VS2005's MT.EXE. What a mess, but it compiles and runs now!
Gee, what do you know - There's an update MS patch to fix VS2008 SP1 :mad: :mad::mad:
-
Gee, what do you know - There's an update MS patch to fix VS2008 SP1 :mad: :mad::mad:
-
Gee, what do you know - There's an update MS patch to fix VS2008 SP1 :mad: :mad::mad:
which one ?
Watched code never compiles.
-
which one ?
Watched code never compiles.
-
My little application was compiling fine as is until I installed the VS2008 SP1 yesterday. I mean it compiled fine, then I installed the update, then I recompiled and started getting the following error:
1>------ Build started: Project: GTRNoteWorker, Configuration: Release Win32 ------
1>Compiling...
1>GTRNoteWorker.cpp
1>Automatically linking with ToolkitPro1321vc90S.lib
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\include\xtr1common(252) : error C2766: explicit specialization; 'std::tr1::_Is_integral<int>' has already been defined
1> C:\Program Files\Microsoft Visual Studio 9.0\VC\include\xtr1common(200) : see previous definition of '_Is_integral<int>'
1>Build log was saved at "file://c:\Coding\GTRNoteWorker - 2008\x86\Release\BuildLog.htm"
1>GTRNoteWorker - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========So I think OK, they tightened up something, so I checked to make sure I haven't included the header somewhere else ...then I realized that the error is stating that the thing has been defined already IN THE SAME HEADER file! I think I must be missing a define or something :mad: Any help would be appreciated! Thanks, Paul
I was caught out by the same error - turned out you need to make sure that in your C++ settings you have "Treat wchar_t as built in type" enabled.