Hello all,
I am having some troubles compiling, some I am not sure if its due to my
changes or due to the latest changes on CVS, hope you can help me:
On VC++7.1 I get tons of already defined symbol errors, here is a sample:
nlmisc_d.lib(debug.obj) : error LNK2005: _RtlSecureZeroMemory already
defined in nlmisc_d.lib(log.obj)
nlmisc_d.lib(debug.obj) : error LNK2005: _InterlockedAnd64 already
defined in nlmisc_d.lib(log.obj)
nlmisc_d.lib(debug.obj) : error LNK2005: _InterlockedOr64 already
defined in nlmisc_d.lib(log.obj)
nlmisc_d.lib(debug.obj) : error LNK2005: _InterlockedXor64 already
defined in nlmisc_d.lib(log.obj)
nlmisc_d.lib(debug.obj) : error LNK2005: _InterlockedIncrement64 already
defined in nlmisc_d.lib(log.obj)
nlmisc_d.lib(debug.obj) : error LNK2005: _InterlockedDecrement64 already
defined in nlmisc_d.lib(log.obj)
nlmisc_d.lib(debug.obj) : error LNK2005: _InterlockedExchange64 already
defined in nlmisc_d.lib(log.obj)
nlmisc_d.lib(debug.obj) : error LNK2005: _InterlockedExchangeAdd64
already defined in nlmisc_d.lib(log.obj)
Those seem to be all windows functions so I have no clue about what is
wrong.
Then on device_manager.cpp there is the line
#include "nel/misc/device_manager.h"
However the file device_manager.h is no where to be found, the file only
has an empty constructor so I asume everything is inlined in the header
or the class is empty, I created an empty class inside the cpp file and
removed the include line, but I dont know if this is ok or not.
I am making changes so it is possible to compile NEL on MSYS with MinGW.
I also found a bug on the fastClamp8(sint &v) function in algo.h, the
asm reads:
// clamp v in 0..255 (no cond jmp)
__asm
{
mov esi, v
mov eax, [esi]
mov ebx, eax
// clamp to 0.
add eax, 0x80000000
sbb ecx, ecx
not ecx
and ebx, ecx
// clamp to 255.
add eax, 0x7FFFFF00
sbb ecx, ecx
or ebx, ecx
and ebx, 255
// store
mov [esi], ebx
}
but it should be:
__asm
{
mov eax, v
mov ebx, v
// clamp to 0.
add eax, 0x80000000
sbb ecx, ecx
not ecx
and ebx, ecx
// clamp to 255.
add eax, 0x7FFFFF00
sbb ecx, ecx
or ebx, ecx
and ebx, 255
// store
mov v, ebx
}
Anyway, I have a public CVS where I keep my imported copy of Nel, if
someone wants to take a look the CVSROOT is
:pserver:address@hidden:/cvsrepo
the module is 'nevrax' just hit enter for the password, and be warned, I
added the game data to it, so its not quite dial up friendly, you should
be able to run a diff against the official CVS, though I dont really
know how yet :)
Thanks for any help.
_______________________________________________
Nel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/nel-all