컴파일러 경고(수준 3) C4748
오류 메시지
함수에서 최적화를 사용하지 않으므로 /GS를 지정해도 로컬 버퍼 오버런에서 매개 변수 및 지역 변수를 보호할 수 없습니다.
/GS can not protect parameters and local variables from local buffer overrun because optimizations are disabled in function기본적으로 활성화되어 있는 /GS(버 퍼 보안 검사)는 함수의 최적화 기능을 사용하지 않는 한 함수의 매개 변수와 지역 변수에서 로컬 버퍼 오버런이 발생하지 않도록 보호할 수 없습니다.
함수에 jmp 또는 jcc와 같은 흐름 제어 문이 포함된 인라인 어셈블리 코드가 있는 경우 컴파일러는 최적화를 비활성화합니다.
이 경고를 해결하고 /GS를 사용하여 로컬 버퍼 오버런에서 매개 변수와 지역 변수를 보호하려면 최적화를 활성화해야 합니다.
http://msdn.microsoft.com/ko-kr/library/ms235398%28VS.80%29.aspx
MSDN 도움말을 찾아보니...
아아-_- ... 뭘 어떻게 하라는건지...;; orz;;
대부분의 구글 검색 결과도 MSDN 도움말의 답습일뿐
뽀족한 해결책은 제시하지 못하고 있는 상황에서 방황하던 중...
ogre 포럼에서 아래와 같은 주옥같은 답변을 찾아내게되었다 -_-)/
I've found the error: -
저는 에러를 찾았어요 >ㅁ<)/
Visual Studio 2008 SP1 turns off /O2 optimization when upgrading from VS 2005. Even if it *Looks* like its on, it may not be. Check that its actually in the command line (also - it is Bold in the IDE if its enabled).
비주얼 스튜디오 2008 SP1 은 O2 최적화를 꺼버립니다. VC2005 에서 업그레이드할때 말예요! 켜진 것처럼 보이지만, 그렇치 않습니다. 실제로 적용도는지 확인할 필요가 있어요. 커맨드라인에서 말이죠. ( IDE상에서는 굵고 진하게 볼드체로 되어있어야 합니다. )
I hope this helps someone googling
구글링을 통해 다른 분들에게 도움이 되었으면 좋겠내요 ^_^
http://www.ogre3d.org/forums/viewtopic.php?f=10&t=49787
와 >ㅁ<)/ 천사님!!
실제 Configuration Properties 의
C/C++/Optimization/Optmization 속성을 보면 볼드체가 아닌걸 확인할 수 있었다.
직접 항목을 다시 선택해주면 볼드체로 바뀌며 다시 링크를 해보면 C4748 경고는 사라지게 된다. ~(-_-)~


python 을 좋아하는 게임 프로그래머