Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

메인 빌드 시스템: SCons 작업

더 보기

이 페이지는 소스로부터 iOS 내보내기 템플릿 바이너리를 컴파일하는 방법을 설명합니다. 프로젝트를 iOS로 내보내는 방법을 찾는다면 :ref:`doc_exporting_for_ios`을 읽으시기 바랍니다.

`godot-cpp <https://github.com/godotengine/godot-cpp>`__은 `SCons <https://scons.org>`__을 기본 빌드 시스템으로 사용합니다. 이는 :ref:`Godot의 빌드 시스템 <doc_compiling_index>`을 모델로 하며, 거기에서 사용 가능한 일부 명령은 godot-cpp 프로젝트에서도 사용할 수 있습니다.

시작하기

godot-cpp 프로젝트를 빌드하려면 일반적으로 `SCons <https://scons.org>`__을 설치하고 프로젝트 디렉터리에서 실행하면 충분합니다.

const

사용 가능한 옵션에 대해 알아보고 싶을 수도 있습니다.

스콘 --도움말

프로젝트를 완전히 다시 빌드하려면 빌드 명령에 ``--clean``를 추가하세요.

스콘 --청소

`SCons 사용자 가이드 <https://scons.org/doc/latest/HTML/scons-user/index.html>`__에서 일반적인 SCons 인수 및 빌드 패턴에 대한 자세한 내용을 확인할 수 있습니다. 개별 godot-cpp 프로젝트에 의해 추가 명령이 추가될 수 있으므로 이에 대한 자세한 내용은 특정 문서를 참조하세요.

IDE 구성

대부분의 IDE는 compile_commands.json 파일을 사용하여 C++ 프로젝트를 이해할 수 있습니다. 다음 명령을 사용하여 godot-cpp로 생성할 수 있습니다:

# Generate compile_commands.json while compiling.
scons compiledb=yes

# Generate compile_commands.json without compiling.
scons compiledb=yes compile_commands.json

자세한 내용은 :ref:`IDE 구성 가이드 <doc_configuring_an_ide>`를 확인하세요. Godot 엔진 기여자를 위해 작성되었지만, godot-cpp 프로젝트에도 대체로 적용 가능합니다.

Godot에서 메시지 파일을 불러오기

Godot는 프로젝트 디렉토리에서 .gdextension 파일을 찾아 GDExtensions를 로드합니다. .gdextension 파일은 현재 컴퓨터/운영 체제와 호환되는 바이너리를 선택하고 로드하는 데 사용됩니다.

godot-cpp-template <https://github.com/godotengine/godot-cpp-template>`__과 :ref:`시작하기 섹션 <doc_godot_cpp_getting_started>`에서는 다양한 시스템과 널리 호환되는 GDExtensions용 예제 `.gdextension`` 파일을 제공합니다.

지원되는 플랫폼

GDExtensions는 각각 별도의 바이너리와 빌드 구성을 갖춘 다양한 시스템에서 실행될 것으로 예상됩니다. GDExtension을 게시할 계획이라면 godot-cpp-template `.gdextension 파일 <https://github.com/godotengine/godot-cpp-template/blob/main/demo/bin/example.gdextension>`__에 언급된 모든 구성에 대한 바이너리를 제공하는 것이 좋습니다.

두 장소에서 템플릿을 관리할 수 있습니다.

  • 크로스 플랫폼 빌드 도구

  • 지속적 통합(CI)

`godot-cpp-template <https://github.com/godotengine/godot-cpp-template>`__에는 GitHub 기반 CI 워크플로에 대한 `예제 설정 <https://github.com/godotengine/godot-cpp-template/tree/main/.github/workflows>`__이 포함되어 있습니다.

ICO 파일 생성하기

godot-cpp의 모든 브랜치는 해당 Godot 버전에 적합한 API 파일(extension_api.json)과 함께 제공됩니다(예: 4.3 브랜치는 Godot 버전 4.3 이상과 호환되는 API 파일과 함께 제공됩니다).

그러나 다음과 같이 사용자 정의 ``extension_api.json``를 사용할 수도 있습니다.

  • Godot ``master``의 최신 API를 사용하고 싶다면.

  • 공식 빌드(예: disable_3d=yes 또는 precision=double)와 다른 옵션을 사용하여 Godot를 직접 빌드하는 경우.

  • 사용자 정의 모듈에서 노출된 API를 사용하려는 경우.

사용자 정의 API 파일을 사용하려면 먼저 적절한 Godot 실행 파일에서 생성해야 합니다:

godot --dump-extension-api

결과 extension_api.json 파일은 실행 파일 디렉터리에 생성됩니다. 이를 사용하려면 빌드 명령에 ``custom_api_file``를 추가하면 됩니다.

scons platform=<platform> custom_api_file=<PATH_TO_FILE>

또는 SConstruct 파일에 다음 줄을 추가하여 프로젝트에 기본 API 파일로 추가할 수 있습니다.

localEnv["custom_api_file"] = "extension_api.json"