Author Topic: Doom3.gpl (TTimo) and VS 2013.5 community edition  (Read 3882 times)

0 Members and 1 Guest are viewing this topic.

The Happy Friar

  • Happy Happy Joy Joy
  • Administrator
  • Hero Member
  • *****
  • Posts: 866
  • Karma: +42/-4
  • Semi-Newbie.
    • View Profile
    • EarthQuake
Re: Doom3.gpl (TTimo) and VS 2013.5 community edition
« Reply #15 on: February 25, 2016, 10:42:53 PM »
getting a little farther with 2015 community... in addition to "math.h" header, you also need to include "cmath".  Some things were moved there in 2015 vs 13.

Now I'm having
Code: [Select]
"Severity    Code    Description    Project    File    Line    Suppression State
Error    C2039    '_file': is not a member of '_iobuf'    TypeInfo    G:\doom3.gpl-master\neo\framework\FileSystem.cpp    3644   
"
error.  :/  Looking online says  2015 changed the file IO stuff for some reason.

bitterman

  • Sr. Member
  • ****
  • Posts: 270
  • Karma: +8/-5
  • Doom Newbie
    • View Profile
Re: Doom3.gpl (TTimo) and VS 2013.5 community edition
« Reply #16 on: February 26, 2016, 01:42:52 AM »
Not related question - do I need a MBCS package to compile D3 with MSVC2015CE?
« Last Edit: February 26, 2016, 01:44:33 AM by bitterman »

The Happy Friar

  • Happy Happy Joy Joy
  • Administrator
  • Hero Member
  • *****
  • Posts: 866
  • Karma: +42/-4
  • Semi-Newbie.
    • View Profile
    • EarthQuake
Re: Doom3.gpl (TTimo) and VS 2013.5 community edition
« Reply #17 on: February 26, 2016, 06:56:02 AM »
I think I installed that, forget atm.  I installed most options.

Still can't get it to compile in 2015 CE.  It's because they changed header files between 2013 & 15 (Win 8.1/10) SDK.  I'm thinking that if I installed 2013 CE first, then 15, I would of had the original SDK & I would of been ok.  Ugh, I don't want to download & install 2013 & then 2015 again.  :p

kat

  • Newbie
  • *
  • Posts: 17
  • Karma: +2/-0
  • Doom Newbie
    • View Profile
Re: Doom3.gpl (TTimo) and VS 2013.5 community edition
« Reply #18 on: July 07, 2016, 02:00:24 PM »
Sorry for the necrobump but this is literally the only topic on the entire Internet that speaks in plain tongue about compile issues with source. Anywho just kind of throwing this information out there to see if any of you chaps know what's what...

Compiling Doom3GPL (Ttimo) the following crops up; the source files as provided seem like they able to compile in Visual Studio 2013 so long as the MFC pack linked in an earlier post is loaded (if not the LNK errors occur) with the exception of this error in "xkeycheck.h" line 250; "324 error C1189: #error :  The C++ Standard Library forbids macroizing keywords. Enable warning C4005 to fine the forbidden macro".  There is some info floating around the Internet on this but it's not clear how it's used (won't link to the sites as they all seem to be traffic harvesters). Has anyone figured out a fix for this.

Second issue. Compiling the same source code with Visual Studio 2015 throws up a lot of errors (between 30 and 60 depending on how messed up the code gets after changing things around), some of which are discussed in some of the earlier posts in this topic, and again they seem to relate mainly to making sure the MFC language library's and SDK's are installed.

The "S_COLOR_RED" error crops up and can be fixed as per Friar's post, but the "SOURCE_CODE_BASE_FOLDER" persists. In the *.h file that's listed as "../"SOURCE_[...]" which is supposed to be referencing "/neo", the source code folder. But what is that path relative to, the "[drive]:\" location? Should it be "../../"SOURCE[...]" or "/"SOURCE[...]" indicating a different local relative to VS? In other words, the relative path to the source files is wrong so it throws up the error.

With regards to "math.h" versus "cmath" and VS 2015, the default code doesn't use cmath and that seems like a big task to correct, but reading up on the "abs" errors thrown up it appears Doom 3 source should be using "fabs" because the code is using 'floating variables' (which seems to be what 2015 is expecting). Using "fabs" doesn't fix the problem as might be expected though. So not sure what's going on there.

As an incidental side note: the instructions on the ModdDB page are confusing a hell and a lot of it seems to cause more problems than it solves for 2013 and 2015 (can't speak for 2010) - if those are installed correctly there's no need to add the absolute paths to VC and/or DirectX SDK etc., because VStudio is supposed to pull that info in automatically from system paths.

kat

  • Newbie
  • *
  • Posts: 17
  • Karma: +2/-0
  • Doom Newbie
    • View Profile
Re: Doom3.gpl (TTimo) and VS 2013.5 community edition
« Reply #19 on: July 07, 2016, 02:55:18 PM »
O....M....G sorted. To solve the xkeyword.h error right-click "Game" select "Properties". In "Configuration Properties" expand "C/C++" and select "Preprocessor". Select "Preprocessor Definiations" and add "_XKEYCHECK_H;" between "NDEBUD;" and "%(PreprocessorDefinitions)";

Code: [Select]
NDEBUD;_XKEYCHECK_H;%(PreprocessorDefinitions)P.S. wrote instructions up here
« Last Edit: June 18, 2017, 10:45:42 PM by kat »

bitterman

  • Sr. Member
  • ****
  • Posts: 270
  • Karma: +8/-5
  • Doom Newbie
    • View Profile
Re: Doom3.gpl (TTimo) and VS 2013.5 community edition
« Reply #20 on: July 07, 2016, 09:52:33 PM »
kat

Hi! Are you that guy from katsbits?

Great site, indeed.

kat

  • Newbie
  • *
  • Posts: 17
  • Karma: +2/-0
  • Doom Newbie
    • View Profile
Re: Doom3.gpl (TTimo) and VS 2013.5 community edition
« Reply #21 on: July 07, 2016, 11:26:15 PM »
Yes, tiz I.  ;D

The Happy Friar

  • Happy Happy Joy Joy
  • Administrator
  • Hero Member
  • *****
  • Posts: 866
  • Karma: +42/-4
  • Semi-Newbie.
    • View Profile
    • EarthQuake
Re: Doom3.gpl (TTimo) and VS 2013.5 community edition
« Reply #22 on: June 18, 2017, 09:04:18 PM »
Ok, I forgot what I did to fix the C2039 error for the file is not a member of thing.  Anyone remember?  I didn't post in this thread.  I'm trying to compile in MSVC Community 2017.  :)

This is still the ONLY thread on the internet that address these issues.  :)

kat

  • Newbie
  • *
  • Posts: 17
  • Karma: +2/-0
  • Doom Newbie
    • View Profile
Re: Doom3.gpl (TTimo) and VS 2013.5 community edition
« Reply #23 on: June 18, 2017, 10:42:27 PM »
What's the full error "C2039: Class is not a member of Namespace" or similar? Most resources suggest something is missing or there's a circular logic going on - file A refs file B, file B refs file A.

The Happy Friar

  • Happy Happy Joy Joy
  • Administrator
  • Hero Member
  • *****
  • Posts: 866
  • Karma: +42/-4
  • Semi-Newbie.
    • View Profile
    • EarthQuake
Re: Doom3.gpl (TTimo) and VS 2013.5 community edition
« Reply #24 on: June 19, 2017, 11:14:59 AM »
Yeah, same error I'm having in the post above ( http://idtechforums.fuzzylogicinc.com/index.php?topic=284.msg4062#msg4062 )

I just don't remember what I did to eliminate it.

kat

  • Newbie
  • *
  • Posts: 17
  • Karma: +2/-0
  • Doom Newbie
    • View Profile
Re: Doom3.gpl (TTimo) and VS 2013.5 community edition
« Reply #25 on: June 19, 2017, 02:42:18 PM »
Don't know if this helps but if you look at _iobuf at line 3644(?) does it list _file as a property or function? If it does, that error appears to point to an undeclared association somewhere, so you'll likely need to add "_file" to something or remove it.

If you figure it out remember to write up what you did this time! lol

The Happy Friar

  • Happy Happy Joy Joy
  • Administrator
  • Hero Member
  • *****
  • Posts: 866
  • Karma: +42/-4
  • Semi-Newbie.
    • View Profile
    • EarthQuake
Re: Doom3.gpl (TTimo) and VS 2013.5 community edition
« Reply #26 on: June 20, 2017, 09:57:18 PM »
hovering my mouse pointer over "_file" in the offending line I get the popup that says "class '_iobuf' has no member '_file'".

Where's _iobuf?  A header perhaps?

kat

  • Newbie
  • *
  • Posts: 17
  • Karma: +2/-0
  • Doom Newbie
    • View Profile
Re: Doom3.gpl (TTimo) and VS 2013.5 community edition
« Reply #27 on: June 20, 2017, 10:23:59 PM »
The error refers to it as a "class" so it'll likely be declared in a file rather than being one. The "io" part looks to be input/output. Can't say much beyond that unfortunately as I'm not running the same specs as you so likely not seeing exactly the same data (a quick source search didn't ping anything up for me).

The Happy Friar

  • Happy Happy Joy Joy
  • Administrator
  • Hero Member
  • *****
  • Posts: 866
  • Karma: +42/-4
  • Semi-Newbie.
    • View Profile
    • EarthQuake
Re: Doom3.gpl (TTimo) and VS 2013.5 community edition
« Reply #28 on: June 20, 2017, 10:47:16 PM »
This is the same GPL stock code I've compiled in MS Community 2013 & 15.  I looked online and all I could find was that after Community 2013 some headers changed.  Which is what I said a while ago. 

Maybe I did just go back to Community 2013.  I forget.  :)

kat

  • Newbie
  • *
  • Posts: 17
  • Karma: +2/-0
  • Doom Newbie
    • View Profile
Re: Doom3.gpl (TTimo) and VS 2013.5 community edition
« Reply #29 on: June 20, 2017, 11:08:35 PM »
Yeah at a guess something else is being done with the switch to 2017 that's not being properly declared. If there wasn't a specific reason for upgrading to 2017 I'd agree on using 13 or 15, at least that way you know there isn't necessarily a core source issue..