Go Back   Project64 Forums > Public Version > Project 64 - v2.x - Issues

Reply
 
Thread Tools Display Modes
  #1  
Old 20th February 2015, 11:23 AM
Frank74's Avatar
Frank74 Frank74 is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Aug 2013
Location: UK
Posts: 828
Default VS 2008 Express build fail

I've installed Visual C++ 2008 Express Edition, and tried to build. I get this error when trying to build Project64.exe.

Code:
1>------ Build started: Project: Project64, Configuration: Release Win32 ------
1>Compiling...
1>stdafx.cpp
1>d:\Documents and Settings\Packard Bell\My Documents\Downloads\project64-master\Source\Project64\WTL App.h(16) : fatal error C1083: Cannot open include file: 'atlbase.h': No such file or directory
1>Build log was saved at "file://D:\Documents and Settings\Packard Bell\My Documents\Downloads\project64-master\build\Release\Project64\BuildLog.htm"
1>Project64 - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Edit:
It appears I need ATL headers and libraries which don't come with VS2008 Express. Since Visual C++ Express ships without ATL, you have to use a version of ATL that ships with Windows Driver Kit 7.1.0. Another 620MB download

Last edited by Frank74; 20th February 2015 at 11:57 AM.
Reply With Quote
  #2  
Old 20th February 2015, 07:10 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

Yeah, as I wrote about in my thread it seems a Professional edition is needed. Ordinarily VS Community 2013 could also fail due to possibly missing, similar dependencies on AFXRES, though there was a solution for getting around that.

That is unless we are willing to get it to compile on something else GCC, in which case it's already portable that it shouldn't matter what version of MSVC used to compile pj.
Reply With Quote
  #3  
Old 20th February 2015, 09:27 PM
Frank74's Avatar
Frank74 Frank74 is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Aug 2013
Location: UK
Posts: 828
Default

Anything past 2008 VS is not an option for me, as it doesn't install on XP.

I thought you removed the afxres dependencies from the PJ source?

So is it worth me trying to build with 2008 Express and the WTL/ATL headers and libraries installed?
Reply With Quote
  #4  
Old 20th February 2015, 10:10 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

Yes I removed afxres, but I was able to test that on VS2013 Community which had the afxres problem as well. Though I did also make the commit to help increase the odds of getting pj to build in VS Express.

It's been a while since I tried to compile it in express. That was back when I was complaining every minute of trying to get Project64 to compile by any means necessary, and with thousands of warnings (most from Glide64/RSP). If you don't feel like grabbing the Professional edition, where's Express so I can try installing that again to see if I can get pj to work in that?
Reply With Quote
  #5  
Old 20th February 2015, 11:24 PM
Frank74's Avatar
Frank74 Frank74 is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Aug 2013
Location: UK
Posts: 828
Default

I got VS 2008 Express with SP1 here.

http://download.microsoft.com/downlo...NUX1504728.iso

And Windows Driver Kit Version 7.1.0 (for ATL version 8 headers and libraries) here.

http://www.microsoft.com/en-us/downl....aspx?id=11800

Which just failed to install because I ran out of disk space (ARRGH!). And to top it off, it decided to automatically rollback the install and remove everything (ARRGHH!). I only had 1.4GB of space before installing WDK.

Edit:
Incidentally, whilst just trying to extract the headers and libraries manually from the WDK cab files, I noticed afx headers (75 of them) as well, including afxres.h. Oh, and mfc42 libraries as well.

Last edited by Frank74; 20th February 2015 at 11:54 PM.
Reply With Quote
  #6  
Old 21st February 2015, 12:01 AM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

The AFXRES that I removed were those that referenced the compiler toolchain for it. If Project64 source included "afxres.h" locally within the folder of a project/solution for the core component or any of its plugins, then I didn't really feel like removing that since it was already included within the Project64 source itself, and as such would not possibly be a "missing" dependency when trying to compile Project64.

Often times when it includes its own "afxres.h" it's really just a clusterfuck of different custom headers being included, not the actual MS dependency.

I tried to install VC++ Express by running the `Setup.hta` from the ISO you linked, and it comes up with this:


So it's asking me to update my VS2008 professional I guess?! lol idk.

Maybe the best thing to do would be going straight to getting it to compile on MinGW then. Installing and uninstalling any of Microsoft's packages takes like 1000 times longer than any clean software.
Reply With Quote
  #7  
Old 21st February 2015, 01:01 AM
Frank74's Avatar
Frank74 Frank74 is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Aug 2013
Location: UK
Posts: 828
Default

Getting it to compile on MinGW would be ideal.

I'm going to extract all the headers/libraries and compiler toolchain .exe's I need from the M$ shit, and manually install it into the codeblocks ide. Then I can delete gigs of stuff I don't need.

There's a version of just VS 2008 Express without SP1 here as well. Incase you decide its easier than trying to make it compile on MinGW.
http://download.microsoft.com/downlo...NUX1397868.iso
Reply With Quote
  #8  
Old 21st February 2015, 01:02 AM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

I've just started to test compiling $project64/main.cpp using MinGW::g++ instead of MSVC++ 2008.

Once I set up a few of the include paths, there were no errors compiling up until indeed, <atlbase.h>.
Once we start to remove the `#include <atlbase.h>` from $project64/WTL App.h, the party starts.

After making the following changes to "WTL App.h":
Code:
-#include <wtl/atlapp.h>

[...]

-#include <atlwin.h>
-#include <wtl/atlmisc.h>
-#include <wtl/atlcrack.h>

-#include <wtl/atlframe.h>
-#include <wtl/atlctrls.h>
-#include <wtl/atldlgs.h>
... as well as removing the `#include <wtl/atlctrls.h>` from $project64/User Interface/WTL Controls/numberctrl.h, the MSVC pre-processor resumes its job without any fatal errors. I'm left with over 100 non-fatal errors (those non-abrupting to the compile attempts) and continued unresolvable ATL imports in g++.

So I guess the only conceivable solution to that would be for zilmar to remove the dependency on ATL himself. And nobody is allowed to do even PART of it for him because nobody is capable to understand the complete set of coding nitpicks of his which is going to continue to inhibit many people's best attempts of at least partial contributions.

EDIT,
Quote:
Originally Posted by Frank74 View Post
There's a version of just VS 2008 Express without SP1 here as well. Incase you decide its easier than trying to make it compile on MinGW.
http://download.microsoft.com/downlo...NUX1397868.iso
yeah, thanks looks like i'll be needing that after all for the moment :P

Last edited by HatCat; 21st February 2015 at 01:06 AM.
Reply With Quote
  #9  
Old 21st February 2015, 09:24 AM
Melchior's Avatar
Melchior Melchior is offline
Alpha Tester
Project Supporter
Super Moderator
 
Join Date: Apr 2007
Location: NH, USA
Posts: 230
Default

See my post on this topic for some info on the whole ATL ick.
http://forum.pj64-emu.com/showpost.p...8&postcount=30

the topics I link in the middle of my post suggest swapping out the
M$ PROPRIETY ATL code for more general coding...

I go into more detail on that subject and trying to import the
vs2008 solution file into Code::Blocks...
__________________
(PC Specs)
CPU: AMD FX-9590 4.7GHz 8-core
CPU Instructions: MMX, SSE1-4
Motherboard: Asus SABERTOOTH 990FX R2.0
GPU: nVidia GTX 1070 Ti 8GB
GFX Drivers: Nvidia v441.66
OS: Windows 7 Ultimate 64-bit SP1
RAM: 32GB Kingston 1866MHz DDR3

Favorite Emulators:
PS2 : PCSX2 (Auto-Builds)
SNES : ZSNES

My PJ64 setup:
EXE : v2.4.0.1114
GFX : Project64-Video (v2.2.0.1114)
SPU : AziAudioNEW (v0.70)(2017-09-14)
INPUT : NRage(v2.5.3.1114)
RSP : RSP (v1.7.4.1114)
Reply With Quote
  #10  
Old 21st February 2015, 09:45 AM
RPGMaster's Avatar
RPGMaster RPGMaster is offline
Alpha Tester
Project Supporter
Super Moderator
 
Join Date: Dec 2013
Posts: 2,008
Default

Quote:
Originally Posted by Frank74 View Post
Anything past 2008 VS is not an option for me, as it doesn't install on XP.

I thought you removed the afxres dependencies from the PJ source?

So is it worth me trying to build with 2008 Express and the WTL/ATL headers and libraries installed?
2010 should work for Windows XP.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 05:06 PM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.