View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002749 | FSSCP | Build system | public | 2012-12-10 00:36 | 2012-12-10 08:00 |
| Reporter | FUBAR-BDHR | Assigned To | Zacam | ||
| Priority | immediate | Severity | block | Reproducibility | always |
| Status | closed | Resolution | suspended | ||
| Platform | Windows | OS | XP | OS Version | XP 32 Pro |
| Product Version | 3.6.15 | ||||
| Target Version | 3.6.15 | ||||
| Summary | 0002749: unordered_map breaks compiling on VS2008 | ||||
| Description | Traced back to commit 9410. It seems that the following is where the issue occurs: #ifndef WIN32 #include <tr1/unordered_map> #else // WIN32 #include <unordered_map> #endif // WIN32 It's hitting the <unordered_map> section when supposedly 2008 needs to hit the tr1 directory. | ||||
| Steps To Reproduce | Try to compile trunk on VS2008 | ||||
| Tags | No tags attached. | ||||
|
|
I compile on 2008 and I tested the map compilation before committing it. I have no idea how or why you have run into this problem, but I'll investigate it. Edit: Also, no it is not a case of it needing to hit the tr1/ location, because if it was, it would have hit that and broken on you well before now as the tr1/ was present since before the commit in question. |
|
|
Maybe the problem is the changes to isnan? That seems to have broken compilation for Linux. i.e. if I revert this change, I can compile again. diff --git a/fs2_open/code/windows_stub/config.h b/fs2_open/code/windows_stub/config.h index 2586d4b..fa44ba8 100644 --- a/fs2_open/code/windows_stub/config.h +++ b/fs2_open/code/windows_stub/config.h @@ -277,7 +277,7 @@ void strlwr(char *s); char *strnset( char *string, int fill, size_t count); // other stuff -#define _isnan(f) isnan(f) +#define _isnan(f) std::isnan(f) #define _hypot(x, y) hypot(x, y) int MulDiv(int number, int numerator, int denominator); edit: actually no, probably isn't related at all, I'll raise the isnan thing in 0002746 |
|
|
Breaks on VS2005 as well. EDIT: ../../code\globalincs/vmallocator.h(16) : fatal error C1083: Cannot open include file: 'unordered_map': No such file or directory |
|
|
isnan was put in for Mac, so Echelon9 will have to co-ordinate with you on that one. Compile occurs for FUBAR under 2008 with the addition of the MSVC 2008 Feature Pack: http://www.microsoft.com/en-us/download/details.aspx?id=6922 There may be a need to include some additional files for the older MSVC's to understand the function correctly. |
|
|
The older MSVCs simply don't have the tr1 libs, or a feature pack for installing them. They're a C++0x thing, and weren't even themselves finalized until late 2005. I will try to install the feature pack on my end but I'm wary about requiring that because it seems there's also an associated redistributable for end users, not sure if they would all start having to install that too or what. |
|
|
There is no redist for end users. Regardless, pulled from Trunk r9420. Suggest that the code go on internal discussion for the best method approach that can be pre-tested across all compiling environments. |
|
|
One option is to roll our own hash map. I'm not saying we should write it from scratch (although we could), but we could crib it from boost or another online source without importing the entire set of libraries that would normally entail. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2012-12-10 00:36 | FUBAR-BDHR | New Issue | |
| 2012-12-10 00:36 | FUBAR-BDHR | Status | new => assigned |
| 2012-12-10 00:36 | FUBAR-BDHR | Assigned To | => chief1983 |
| 2012-12-10 00:54 | Zacam | Note Added: 0014395 | |
| 2012-12-10 00:59 | Zacam | Note Edited: 0014395 | |
| 2012-12-10 00:59 | Zacam | Assigned To | chief1983 => Zacam |
| 2012-12-10 01:23 | niffiwan | Note Added: 0014396 | |
| 2012-12-10 01:53 | niffiwan | Note Edited: 0014396 | |
| 2012-12-10 03:03 | MjnMixael | Relationship added | related to 0002746 |
| 2012-12-10 03:40 | Goober5000 | Note Added: 0014399 | |
| 2012-12-10 03:42 | Goober5000 | Note Edited: 0014399 | |
| 2012-12-10 04:35 | Zacam | Note Added: 0014403 | |
| 2012-12-10 07:30 | chief1983 | Note Added: 0014404 | |
| 2012-12-10 07:54 | Zacam | Note Added: 0014405 | |
| 2012-12-10 07:59 | Goober5000 | Note Added: 0014406 | |
| 2012-12-10 08:00 | Zacam | Status | assigned => closed |
| 2012-12-10 08:00 | Zacam | Resolution | open => suspended |