빨간색 에러들

[STACKOverflow] Visual Studio 스택 크기 늘리기, Cmake 적용

vhxpffltm 2022. 7. 24. 22:12

이슈 확인중 재현해보니...

 

stack oveflow였고 호출스택을 보니...

 

같은 함수가 무지막지하게 호출되고 있었다.

 

해결하는 방법은 많은데 그중 들은건

 

릴리즈시, 스택 크기를 기본 1MB가 아닌 좀 더 늘려서 하자는 거였다.

 

음.. cmake인데.. 어떻게하지..? 간단하다. 

 

우선 Visual Studio에서는 프로젝트 속성에서 수정할수 있다.

 

아래 그림처럼 '링커' -> '시스템' 에서 적당히 고쳐주면 된다. 바이트 크기이다. 

 

 

그렇다면 cmake에서는 어떻게 할까? 아래 링크를 참조할 수 있다.

 

먼저, VS에서 링커 옵션중 /STACK 옵션을 사용한다. 이것이 위 그림의 '스택 예약 크기' 이다.

 

필자의 Cmake는 target(최종 빌드 결과물)이 되는 3개의 바이너리에 target_link_option()이 있는데 그곳에 해당 옵션을 추가한다.

cmake의 generator로 Visual Studio를 설정하고 sln 파일을 열어보면 stack 사이즈가 자동으로 변경된것을 확인할 수 있다.

 

아래 링크처럼 다른 방식으로 설정할 수 있다.

 

 

https://stackoverflow.com/questions/49644273/cmake-change-stack-size

 

Cmake change stack size

Is there a way to change stack size from the Cmake ? I only found one forum thread mentioning CMAKE_CXX_STACK_SIZE but I couldn't find the documentation for this command. Ideally the command should...

stackoverflow.com