블로그 이미지
자신의 단점을 메꾸는 것을 단(鍛)이라 하고 자신의 강점을 갈고 닦는 것을 련(鍊)이라 하여, 두가지를 합친 것을 단련이라고 부른다. 붕대마음

카테고리

전체목록 (666)
참고사이트 (8)
Goal (4)
Travel (10)
My Life (105)
Game (35)
Game Review (7)
Game Plan (0)
Books (5)
English (1)
Optimizing (12)
Study (217)
유용한 것들_etc (44)
유용한 것들_func (20)
Unity (48)
Unreal (87)
작업장 (54)
RenderMonkey (6)
정리요망 (1)
따라잡기 시리즈 (0)
링크용 (0)
Total343,756
Today5
Yesterday73

std::min, std::max를 쓰는데 이상한 오류가 났다.
이에대해 찾은 해결책.

The <algorithm> header doesn't seem to contain std::min() and std::max() any longer. I looked in the VC\include folder and found only minmax.h with old macros-based min() and max() implementation. VS2005B2 MSDN clains min() and max() are still available in the <algorithm> header.

algorithim 헤더가 std::min이랑 std::max를 가지고 있지 않은것 같애 ㅜㅜ.
그래서 내가 vc의 include 폴더의 minmax를 찾아서 살펴보니까 minmax.h파일이 있더군.
min()이랑 max라는 오래된 매크로 구현물을 찾았지.
vs2005B2 MSDN이 말하길 min()이랑 max()는 여전히 alhorithm 헤더에 포함되어 있다는데 말야..
난 왜 안될까?

대충 이런 내용인듯하다.

It does repro if you include the windows.h header (or indirectly, if you include an ATL header which includes windows.h).
To fix the problem, you'll need to /DNOMINMAX on the command line, so that windows.h (windef.h) does not #define min and max.
그건 네가 windows.h헤더를 include할때 생긴걸 거야.
이 문제를 고치고 싶으면 /DNOMINMAX 커맨드 라인에 추가시켜줘서 windows.h가 min이랑 max를 define하지 못하도록 해.

그러니까 매크로 추가해서 min이랑 max define을 막아라는 말인듯 하군.

여기에 대해 또다른 곳 링크를 건다.
http://lists.boost.org/boost-users/2005/01/9571.php

The Boost config header win32.hpp used to disable these but no longer
does. You can disable the macros yourself by defining NOMINMAX before
including Windows headers.
이걸 보고 해결했다.

요걸 추가해주는 센스
#define NOMINMAX
Posted by 붕대마음

댓글을 달아 주세요

최근에 달린 댓글

최근에 받은 트랙백

글 보관함