64비트 Cygwin에서 스택 크기를 늘리시겠습니까? (ocaml 설치)

64비트 Cygwin에서 스택 크기를 늘리시겠습니까? (ocaml 설치)

이전 버전의 ocaml을 설정하려고 하는데 스택 크기를 늘려야 한다는 오류 메시지가 나타납니다. Cygwin에서 이 작업을 수행하는 유일한 방법은 추가 인수를 사용하여 gcc를 실행하는 것이지만 내가 따른 지침에서는 makefile을 사용하여 프로그램을 컴파일하도록 했습니다. gcc 명령을 수동으로 입력하지 않았기 때문에 해당 매개변수를 어디에 추가해야 할지 잘 모르겠습니다.

다음은 설치 과정을 붙여넣은 것입니다.http://pastebin.com/j2Q45pKm

$ make world.opt
The current stack size limit is too low (2026k)
You must increase it with one of the following commands:
Under sh, bash, zsh:  ulimit -s 3072
Under csh, tcsh:      limit stacksize 3072

Makefile:621: recipe for target 'checkstack' failed
make: *** [checkstack] Error 3

제가 전달하려는 주장은 다음과 같습니다.https://stackoverflow.com/questions/156510/increase-stack-size-on-windows-gcc

시그윈이니까,ulimit스택 크기를 늘릴 수 없습니다.

답변1

./configure -cc "gcc -Wl,--stack,16777216"컴파일하는 동안 항상 인수를 사용하여 실행하려면 gcc실행합니다(원하는 다른 옵션도 포함). -Wl,--stack,16777216그런 다음 을 실행 make clean하고 make world.opt다시 실행하세요. make clean새로운 스택 크기 옵션을 사용하여 다시 생성하려면 이전에 생성된 모든 바이너리(바이트 컴파일된 파일은 아니지만 더 쉬움)를 정리해야 합니다 .

Ocaml 메이크파일은 다양한 컴파일러를 사용하여 빌드 프로세스의 다양한 부분에 대해 다양한 옵션을 제공할 수 있으므로 일반적인 CC규칙을 사용하지 않습니다. CFLAGS컴파일러를 구축하는 것은 약간 이상한 경향이 있습니다.

답변2

표준 규칙을 따르는 makefile의 경우 make CC='gcc -fwhatever또는 를 사용할 수 있습니다 make CFLAGS='-fwhatever'. (C++의 경우 CXXCXXFLAGS)

관련 정보