![]() |
Re: command line compile
No, that's saying if you are *NOT* using a Microsoft compiler you need to define __cdecl.
__cdecl should already be defined in MSVC. If you've modified ANY of the metamod source code, you should probably change it back to what it originally was (or just delete what you have now and re-install the metamod source). Compile the unmodified metamod source and post any errors you get here. botman |
Re: command line compile
do i need a service pack for msvc?
heres the new error with the default (metamod 1.17 from metamod.org) .dsw D:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE\afxv_w32.h(14) : fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h> conf_meta.cpp |
Re: command line compile
It's been a long time but you must move all of the half-life include directories in your listing to either the top or the bottom of the list and keep them together.
I cannot remember which since I do not use VS 6 anymore. |
Re: command line compile
under project options i have:
/nologo /MT /W3 /GX /O2 /I "d:\program files\microsoft visual studio\vc98\include\sdk\multiplayer\common" /I "d:\program files\microsoft visual studio\vc98\include\sdk\multiplayer\engine" /I "d:\program files\microsoft visual studio\vc98\include\sdk\multiplayer\dlls" /I "d:\program files\microsoft visual studio\vc98\include\sdk\multiplayer\pm_shared" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "METAMOD_EXPORTS" /Fp"release/metamod.pch" /YX /Fo"release/" /Fd"release/" /FD /c does the "/I" mean include? what is the difference between [project/settings/c++ tab/Project Options] and [tools/options/directories]? |
Re: command line compile
Yes, "/I" means "use this directory when searching for include files".
The Half-Life SDK includes a .h file called "util.h". There is also a "util.h" in the MSVC standard includes. What's probably happening is that the MSVC version of util.h is being included instead of the Half-Life SDK one. Why did you install the Half-Life SDK in "program files\microsoft visual studio\vc98\include" anyway? I would recommend you remove it from there and install it someplace separate (perhaps in "D:\Half-Life SDK"), then change your /I include list to look something like this... Code:
/I "D:\Half-Life SDK\sdk\multiplayer\common" |
Re: command line compile
Code:
void *mm_PvAllocEntPrivateData(edict_t *pEdict, int cb) { line of error: Code:
META_ENGINE_HANDLE(void *, NULL, FN_PVALLOCENTPRIVATEDATA, pfnPvAllocEntPrivateData, (pEdict, cb)); This conversion requires a reinterpret_cast, a C-style cast or function-style cast after downloading the sdk and metamod source from the new filebase. |
Re: command line compile
It appears that the metamod .h files have __int32 defined as the 'int' type. Perhaps this was for Linux compatibility. Try searching the metamod .h files for '__int32' and replacing it with 'int'.
botman |
Re: command line compile
i have searched the .h files and have not found __int32 yet. i have found plenty of "int"s. do you know which files i should check? I'll check again...
|
Re: command line compile
I saw this over on hlpd about error C2440...
http://dynamic5.gamespy.com/~hlpd/index.pl/Eiface.H (scroll to the bottom of that page) Value used 'long' in places where 'uint32' should have been used. The metamod code may have the same problems. See the changes that SavannahLion recommended as an example. botman |
Re: command line compile
Else if you want to get yourself started with a SDK + metamod + bot kit that compiles straight out of the box, go to the filebase and download the "POD-bot SDK". I've packaged the Bots United SDK with the updated metamod source code that we use, and there's the pod-bot source code as well. ALL of them compile fine, straight out of the box, directly in Windows (MSVC 6) and Linux (GCC 2.95.3). You don't even need to adapt the include paths if you keep the directory structure.
|
All times are GMT +2. The time now is 02:48. |
Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.