PDA

View Full Version : Getting EQEmu to Build with VC++.NET 2005 Express


Ibix
01-20-2006, 06:27 AM
Okay, I'm almost done working with this, and have been documenting the struggles thus far where they differ from the two guides I've been using as reference points. I have gotten EMuShareMem to build just fine. I've gotten World to build just fine. I'm lacking only getting Zone to build, which doesn't surprise me. Though I have 142 errors, there are really only two errors and they are as follows:

141 occurrences of:

.\filename.cpp(###) : error C3861: 'mob_log': identifier not found

This occurs 141 times over the span of spells.cpp, spell_effects.cpp, mobai.cpp and waypoints.cpp. I checked the code for the declaration there of, and don't see a problem with it, since world_log.cpp is declared directly above it, in the same fashion, and no other declarations thereof in any other file in the entire project... and world builds just fine. So... any help on this one?

And the second error is more interesting and goes something like this:

1> .\entity.cpp(249) : error C2678: binary '==' : no operator found which takes a left-hand operand of type 'std::list<_Ty>::_Iterator<_Secure_validation>' (or there is no acceptable conversion)
1> with
1> [
1> _Ty=Group *,
1> _Secure_validation=true
1> ]
1> C:\Program Files\Microsoft Platform SDK\Include\guiddef.h(192): could be 'int operator ==(const GUID &,const GUID &)'
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\list(281): or 'bool std::list<_Ty>::_Const_iterator<_Secure_validation>::operator ==(const std::list<_Ty>::_Const_iterator<_Secure_validation> &) const'
1> with
1> [
1> _Ty=Group *,
1> _Secure_validation=true
1> ]
1> while trying to match the argument list '(std::list<_Ty>::_Iterator<_Secure_validation>, int)'
1> with
1> [
1> _Ty=Group *,
1> _Secure_validation=true
1> ]

Sounds like... hmm... not sure. It SOUNDS like there should be an overloaded == that handles these types of operands and it doesn't exist, but I imagine someone else would be having these problems too then. Thoughts?

Ibix
01-20-2006, 06:29 AM
I should note that these problems are with the code in the Development branch, as of... earlier this morning.. maybe around 10am?

Ibix
01-20-2006, 07:08 AM
141 occurrences of:

.\filename.cpp(###) : error C3861: 'mob_log': identifier not found


Okay, not sure HOW 'mob_log' got into the code. Doodman checked the cvs, which is where I pulled from, but maybe I edited it to say mob_log and totally forgot... I dunno... should have been '_log' instead of 'mob_log'... so, if anyone else is completely retarded and gets this error, that's how to fix it.



1> .\entity.cpp(249) : error C2678: binary '==' : no operator found which takes a left-hand operand of type 'std::list<_Ty>::_Iterator<_Secure_validation>' (or there is no acceptable conversion)
1> with
1> [
1> _Ty=Group *,
1> _Secure_validation=true
1> ]
1> C:\Program Files\Microsoft Platform SDK\Include\guiddef.h(192): could be 'int operator ==(const GUID &,const GUID &)'
1> C:\Program Files\Microsoft Visual Studio 8\VC\include\list(281): or 'bool std::list<_Ty>::_Const_iterator<_Secure_validation>::operator ==(const std::list<_Ty>::_Const_iterator<_Secure_validation> &) const'
1> with
1> [
1> _Ty=Group *,
1> _Secure_validation=true
1> ]
1> while trying to match the argument list '(std::list<_Ty>::_Iterator<_Secure_validation>, int)'
1> with
1> [
1> _Ty=Group *,
1> _Secure_validation=true
1> ]



And this was an error in the code that gcc doesn't pick up. Line 249 of Entity.cpp should have been:

if (*it == NULL)

instead of:

if (it == NULL)

Doodman pointed this out and also fixed it in the CVS. Doodman FTW!

I now have it (everything) building successfully with Visual C++.NET 2005 Express Edition and will be adding to/editing the Wiki to clarify with some of the stuff I ran into.