--
[ Picked text/plain from multipart/alternative ]
I came across this about a year ago too. It was a pretty common problem -
not sure why there isn't more info on it (there was back then).

>From what I remember it's something in stdstring.h. It includes some file
that re-defines min and max in linux. The fix was to just #undef min and
#undef max and then include another file (I think). Wish I could find where
I found out how to fix it.

garry

On 12/23/06, Jed <[EMAIL PROTECTED]> wrote:
>
> Well after solving all the other problems I've managed to get the
> current HL2MP SDK to start compiling but I've hit an error regarding
> min/max.
>
> I've searched the archives and found mention to it but no definate
> answer on how to fix it. I've looked at the KI list for Linux on the
> SDK but it's really confusing as to what issues are from the old SDK,
> which are just with the new or what remain from both.
>
> So, in short - I'm compiling the current 31st Oct 2006 HL2MP codebase
> with GCC 3.4.6.
>
> Everything is set-up and running as far as a build environment is
> concerned and the compile begins before stopping with this:
>
> /usr/bin/g++34 -w -I../dlls/../game_shared/hl2 -I../dlls/.
> -I../dlls/../public -I../dlls/../public/tier1 -I../dlls/../game_shared
> -I../dlls/../utils/common -I../dlls/../dlls -I../dlls/../../dlls
> -I../dlls/../dlls/hl2_dll -I../dlls/../dlls/hl2mp_dll
> -I../dlls/../game_shared/hl2mp -I../dlls/./episodic -DHL2_EPISODIC
> -DHL2MP -DHL2_DLL -DUSES_SAVERESTORE -DNDEBUG -DGAME_DLL
> -Dsprintf=use_Q_snprintf_instead_of_sprintf -DVECTOR
> -Dstrncpy=use_Q_strncpy_instead -D_snprintf=use_Q_snprintf_instead
> -DPROTECTED_THINGS_ENABLE  -mtune=i686 -march=pentium3 -mmmx -O3
> -fpermissive -D_LINUX -DNDEBUG -Dstricmp=strcasecmp
> -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp
> -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca
> -Dstrcmpi=strcasecmp -Usprintf=use_Q_snprintf_instead_of_sprintf
> -Ustrncpy=use_Q_strncpy_instead -UPROTECTED_THINGS_ENABLE -o
> obj/server_i486/dlls/npc_talker.o -c ../dlls/npc_talker.cpp
> In file included from
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory:61,
>
>                  from
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/string:48,
>                  from ../dlls/../public/stdstring.h:26,
>                  from ../dlls/ai_playerally.h:18,
>                  from ../dlls/npc_talker.h:42,
>                  from ../dlls/npc_talker.cpp:10:
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:292:22:
> macro "max" requires 2 arguments, but only 1 given
> In file included from
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory:61,
>                  from
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/string:48,
>                  from ../dlls/../public/stdstring.h:26,
>                  from ../dlls/ai_playerally.h:18,
>                  from ../dlls/npc_talker.h:42,
>                  from ../dlls/npc_talker.cpp:10:
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:292:
>
> error: expected `;' before "throw"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:295:
> error: expected `;' before "static"
> /usr/lib/gcc/i386-redhat-linux
> /3.4.6/../../../../include/c++/3.4.6/limits:320:23:
> macro "max" requires 2 arguments, but only 1 given
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:320:
> error: expected `;' before "throw"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:323:
> error: expected `;' before "static"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:373:23:
> macro "max" requires 2 arguments, but only 1 given
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:373:
> error: expected `;' before "throw"
> /usr/lib/gcc/i386-redhat-
> linux/3.4.6/../../../../include/c++/3.4.6/limits:376:
> error: expected `;' before "static"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:423:30:
> macro "max" requires 2 arguments, but only 1 given
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:423:
> error: expected `;' before "throw"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:426:
> error: expected `;' before "static"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:473:32:
> macro "max" requires 2 arguments, but only 1 given
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:473:
>
> error: expected `;' before "throw"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:476:
> error: expected `;' before "static"
> /usr/lib/gcc/i386-redhat-linux
> /3.4.6/../../../../include/c++/3.4.6/limits:523:26:
> macro "max" requires 2 arguments, but only 1 given
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:523:
> error: expected `;' before "throw"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:526:
> error: expected `;' before "static"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:573:24:
> macro "max" requires 2 arguments, but only 1 given
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:573:
> error: expected `;' before "throw"
> /usr/lib/gcc/i386-redhat-
> linux/3.4.6/../../../../include/c++/3.4.6/limits:576:
> error: expected `;' before "static"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:623:33:
> macro "max" requires 2 arguments, but only 1 given
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:623:
> error: expected `;' before "throw"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:626:
> error: expected `;' before "static"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:673:22:
> macro "max" requires 2 arguments, but only 1 given
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:673:
>
> error: expected `;' before "throw"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:676:
> error: expected `;' before "static"
> /usr/lib/gcc/i386-redhat-linux
> /3.4.6/../../../../include/c++/3.4.6/limits:723:31:
> macro "max" requires 2 arguments, but only 1 given
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:723:
> error: expected `;' before "throw"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:726:
> error: expected `;' before "static"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:773:23:
> macro "max" requires 2 arguments, but only 1 given
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:773:
> error: expected `;' before "throw"
> /usr/lib/gcc/i386-redhat-
> linux/3.4.6/../../../../include/c++/3.4.6/limits:776:
> error: expected `;' before "static"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:823:32:
> macro "max" requires 2 arguments, but only 1 given
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:823:
> error: expected `;' before "throw"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:826:
> error: expected `;' before "static"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:873:28:
> macro "max" requires 2 arguments, but only 1 given
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:873:
>
> error: expected `;' before "throw"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:876:
> error: expected `;' before "static"
> /usr/lib/gcc/i386-redhat-linux
> /3.4.6/../../../../include/c++/3.4.6/limits:923:37:
> macro "max" requires 2 arguments, but only 1 given
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:923:
> error: expected `;' before "throw"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:926:
> error: expected `;' before "static"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:973:24:
> macro "max" requires 2 arguments, but only 1 given
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:973:
> error: expected `;' before "throw"
> /usr/lib/gcc/i386-redhat-
> linux/3.4.6/../../../../include/c++/3.4.6/limits:976:
> error: expected `;' before "static"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:1029:25:
> macro "max" requires 2 arguments, but only 1 given
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:1029:
> error: expected `;' before "throw"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:1032:
> error: expected `;' before "static"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:1085:30:
> macro "max" requires 2 arguments, but only 1 given
> /usr/lib/gcc/i386-redhat-
> linux/3.4.6/../../../../include/c++/3.4.6/limits:1085:
> error: expected `;' before "throw"
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/limits:1088:
> error: expected `;' before "static"
> In file included from
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/string:48,
>                  from ../dlls/../public/stdstring.h:26,
>                  from ../dlls/ai_playerally.h:18,
>                  from ../dlls/npc_talker.h:42,
>                  from ../dlls/npc_talker.cpp:10:
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory:77:62:
> macro "max" requires 2 arguments, but only 1 given
> In file included from
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/string:48,
>                  from ../dlls/../public/stdstring.h:26,
>                  from ../dlls/ai_playerally.h:18,
>                  from ../dlls/npc_talker.h:42,
>                  from ../dlls/npc_talker.cpp:10:
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory:
> In function `std::pair<_Tp*, ptrdiff_t>
> std::__get_temporary_buffer(ptrdiff_t, _Tp*)':
>
> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/memory:77:
> error: `max' is not a member of `std::numeric_limits<int>'
> make[1]: *** [obj/server_i486/dlls/npc_talker.o] Error 1
> make[1]: Leaving directory `/usr/local/src/Source SDK/linux_sdk'
> make: *** [mod] Error 2
>
>
> I'm sure I can't be the only one with this problem and googling for
> the error message didn't reveal any insights of how to solve it.
>
> Little help?
>
> - Jed
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
> please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>
--

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to