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

问题描述 投票:0回答:1

我正在使用gcc 9.2cmake 3.15在Linux上构建C ++项目,我需要增加默认堆栈大小。我之前找到了很多答案,但是它们似乎都没有用

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)
gcc cmake linker g++
1个回答
1
投票

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

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,stack-size=1000000")
© www.soinside.com 2019 - 2024. All rights reserved.