고도엔진에서 보안을 위한 gd extension 설정

 https://docs.godotengine.org/ko/4.x/tutorials/scripting/cpp/gdextension_cpp_example.html#workflow-overview



3. godot-cpp를 '서브모듈'로 추가 (폴더명은 'godot-cpp'로 생성됨) 


깃 관리 중이라면

git submodule add -b 4.5 https://github.com/godotengine/godot-cpp


고도 바인딩

godot --dump-extension-api


# 파일 이름은 실제 사용자님의 실행 파일 이름과 같아야 합니다.

# 예: Godot_v4.5-stable_win64.exe

./Godot_v4.5.1-stable_win64.exe --dump-extension-api


켜졌다가 꺼짐.

이제 만들어진 json파일을  c++폴더안에 넣고 해당 루트에서 배쉬로 명령어

scons platform=<platform> extension_api.json=<PATH_TO_FILE>


scons platform=windows api_file=extension_api.json -j8



완료.

bin폴더 생기고 이 파일이 있어야함.

고도 프로젝트에 src폴더를 만들고 파일 c++을 만듦


에제 파일 만들고,


scons platform=<platform>


c++폴더에서 하지말고 프로젝트 상위폴더에서 Sconstruct를 받아서 놓고 해야함.

명령어

scons platform=windows

치면됨

scons platform=windows -j8 

더 빠르게

target=template_release. 릴리즈 빌드명령어

scons platform=windows target=template_release -j8


여기에  파일을 만들어야함

gdexample.gdextension



구조

demo가 프로젝트 루트여야함. 나는 demo를 폴더로 생성해서 잘못됨;;


bin파일이 업데이틑 안될 때

고도엔진 전부 끄고 싹밀고 다시 컴파일 ㄱ

scons platform=windows target=template_release -c

bin 삭제 명령어


아 원래 demo폴더 유지로 써야할 듯 뭔가 경로를 못찾음.;;

디버그

scons platform=windows -j8

릴리즈

scons platform=windows target=template_release -j8


왜 못찾나 했더니 에디터는 릴리즈를 인식못함 디버그용으로 만들고 작업한 후 빌드할 때는 릴리즈를 씀 결국 둘다 빌드해두어야함.


  • Bash
    scons platform=android target=template_debug arch=arm64 arch=arm32 -j11
    
  • [릴리즈 세트]

    Bash
    scons platform=android target=template_release arch=arm64 arch=arm32 -j11
    

2. 에뮬레이터용 (x86 64비트 + 32비트)

PC용 에뮬레이터(LD플레이어, 블루스택 등) 및 최신 태블릿용입니다.

  • [디버그 세트]

    Bash
    scons platform=android target=template_debug arch=x86_64 arch=x86 -j11
    
  • [릴리즈 세트]

    Bash
    scons platform=android target=template_release arch=x86_64 arch=x86 -j11



scons platform=android arch=arm32 target=template_release debug_symbols=yes
scons platform=android arch=arm64 target=template_release debug_symbols=yes
scons platform=android arch=x86_32 target=template_release debug_symbols=yes
scons platform=android arch=x86_64 target=template_release debug_symbols=yes separate_debug_symbols=yes generate_android_binaries=yes

디버그 뽑아야하니까 뒤에 yes붙여서 뽑아야됨.


godot cpp에 tool에 android.py






참조를 28로 고정해놓아서 이걸 설치했는데 여기가 경로다됨 

안드로이드 빌드하려면 이걸 수정해야한다.

댓글

이 블로그의 인기 게시물

[코틀린] 고도용 안드로이드 플러그인 CameraX 기능파악을 위한 앱 실습 codelabs

일시정지에서 특정 노드만 사용되게 하고 싶다면 get_tree().paused=false

cpp 작업을 위한 비쥬얼스튜디오에서 고도프로젝트 열기