使用 gcc 在 cmake 中设置堆栈大小

Setting stack size in cmake with gcc

我正在使用 gcc 9.2cmake 3.15 在 Linux 上构建一个 C++ 项目,我需要增加默认堆栈大小。我之前找到了很多答案,但其中 none 似乎有效

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--stack,1000000")
message(${CMAKE_CXX_COMPILER_ID})
message(${CMAKE_EXE_LINKER_FLAGS})

报错:

/usr/bin/ld: unrecognized option '--stack'
/usr/bin/ld: use the --help option for usage information

我可以看到参数确实在 cmake 输出中传递:

GNU
-Wl,--stack,1000000

而下面这个标志似乎根本不存在。

set(CMAKE_CXX_STACK_SIZE 1000000)

已解决。感谢@squareskittles 的评论。 应该是:

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,stack-size=1000000")