使用 MSVC 编译器时,可以通过设置 /STACK 链接器选项来指定栈大小。
if(MSVC)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /STACK:8388608")
endif()
使用 GCC 或 Clang 的 Linux 系统,可以通过 -Wl,--stack 链接器标志来设置栈大小。
if(UNIX AND NOT APPLE)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--stack,8388608")
endif()
8388608 是栈大小的字节数,示例中设置的是 8MB。