Подключение C++ в Godot 4 | GDExtension

Поділитися
Вставка
  • Опубліковано 18 гру 2024

КОМЕНТАРІ • 57

  • @flaituti
    @flaituti 11 місяців тому +5

    Спасибо тебе, получилось подключить С++, даже изменения в скрипте работают. От всей души благодарю

  • @defolt7
    @defolt7 Рік тому +4

    Человек заслуживает Оскара, спасибо, интернет будет о тебе помнить

  • @dameroglaz6933
    @dameroglaz6933 Рік тому +1

    Спасибо за видео!

  • @juggdeuce18
    @juggdeuce18 Рік тому +1

    Спасибо тебе за помощь

  • @salahzak7615
    @salahzak7615 4 місяці тому +1

    Ты можеш не ограничено пользоваться с C++ в Godot используя функции C++ или только по этому сайту?

  • @alexmo6538
    @alexmo6538 6 місяців тому +1

    Спасибо парниршка! Годот наше все!

  • @MiniHombreAbsoltutHJEKE77
    @MiniHombreAbsoltutHJEKE77 Місяць тому

    Что делать если в годот не отображает новый узел GDExample

  • @defolt7
    @defolt7 Рік тому +2

    почему "scons" не является внутренней или внешней
    командой, исполняемой программой или пакетным файлом.

  • @TheDwcorp
    @TheDwcorp 11 місяців тому +1

    Хм, а можно ли при сборке самой библиотеки (итоговой) не использовать Scons? В старой версии движка (где еще был GDNative) это было возможно, получившийся после сборки биндингов годота .lib можно было спокойно прилинковать к своей библиотеке и собрать её хоть в Visual Studio хоть где-то еще, юзая CMake например. В случае с 4-ой версией почему-то такого сделать не удается (пытаюсь собрать на CMake/MinGW, но и в случае с CMake/MSVC аналогично). Ошибки линковки. Может знаете в чем дело? Кто-нибудь пробовал?

    • @TheDwcorp
      @TheDwcorp 11 місяців тому +1

      Все дело оказалось в статической линковке с рантаймом. И да, по умолчанию scons юзает именно MSVC при сборке .lib файлов (не в курсе, можно ли переключить MinGW/GCC). Поэтому при сборке вашей библиотеки надо чтобы она тоже линковалась с рантаймом статически (и собиралась также MSVC компилятором) - в CMake это будет опция MSVC_RUNTIME_LIBRARY - "MultiThreaded"

  • @raptor7125
    @raptor7125 Рік тому +1

    То есть при каждом изменении какого либо скрипта, нужно полностью пересобирать проект с помощью scons'a?

  • @tbou_ho4hou_koiiimap676
    @tbou_ho4hou_koiiimap676 9 місяців тому +3

    Решение проблемы:
    > "scons" не является внутренней или внешней командой, исполняемой программой или пакетным файлом
    Установите питон и потом в cmd просто вставьте pip install scons
    Усе

    • @Lol_deb
      @Lol_deb 5 місяців тому

      бро можешь помочь пж что это за ошибка:
      C:\Users\hsama\Documents\gdextension_cpp_example\godot-cpp>scons
      scons: Reading SConscript files ...
      NameError: name 'BoolVariable' is not defined:
      File "C:\Users\hsama\Documents\gdextension_cpp_example\godot-cpp\SConstruct", line 36:
      cpp_tool.options(opts, env)
      File "C:\Users\hsama\Documents\gdextension_cpp_example\godot-cpp\tools\godotcpp.py", line 325:
      tool.options(opts)
      File "C:\Users\hsama\Documents\gdextension_cpp_example\godot-cpp\tools\ios.py", line 24:
      opts.Add(BoolVariable("ios_simulator", "Target iOS Simulator", False))

    • @raizenradeonovich1570
      @raizenradeonovich1570 4 місяці тому

      @@Lol_deb как решил

    • @Lol_deb
      @Lol_deb 4 місяці тому

      @@raizenradeonovich1570 загугли: NameError: name 'BoolVariable' is not defined: я этот вопрос на Хабре задал там ответили

  • @_scorlenty_12
    @_scorlenty_12 8 місяців тому

    спасибо огромноеее!!!

  • @1FireKnight1
    @1FireKnight1 9 місяців тому

    Когда продолжение?

  • @MokArtiy
    @MokArtiy 11 місяців тому +1

    А продолжение будет?

  • @_scorlenty_12
    @_scorlenty_12 Рік тому +1

    у меня пишет что git не является внутренней или внешней командой

    • @Геймдевим
      @Геймдевим  Рік тому

      Значит надо установить гит на пк)

    • @_scorlenty_12
      @_scorlenty_12 Рік тому

      аа, хорошо
      @@Геймдевим

    • @_scorlenty_12
      @_scorlenty_12 Рік тому

      @@Геймдевим а если scons Не работает

    • @Геймдевим
      @Геймдевим  Рік тому

      @@_scorlenty_12 Значит нужно его установить) А лучше посмотреть моё предыдущие видео

  • @Medmaph
    @Medmaph 9 місяців тому +1

    "git" не является внутренней или внешней
    командой, исполняемой программой или пакетным файлом.
    А что собственно делать?

  • @Naze4ik
    @Naze4ik 11 місяців тому +2

    Круто конечно но скажу одно, то что я сначала тоже хотел внедрить c++ в godot чтобы кодить на нем, но потом понял что намного легче изучать gdscript

    • @Геймдевим
      @Геймдевим  11 місяців тому +4

      Он тебе не даст таких скоростей, как на плюсах

    • @Naze4ik
      @Naze4ik 11 місяців тому

      @@Геймдевим типо когда большие работы? Если ты не про это то он и так быстрый

    • @Sky-pg8ot
      @Sky-pg8ot 9 місяців тому

      ​@@Геймдевим он наверное хотел романтику на cpp, но оказалось что и гд подойдёт для простенькой гиперказуалки

    • @АртёмШакиров-к2о
      @АртёмШакиров-к2о 5 місяців тому

      @@Геймдевим Скорей всего какого уровня игру бы он не разрабатывал, ему в жизни не придётся о том что GDscript медленный. Если игра тормозит, дело вероятнее всего не в языке, а в коде. Если хочется не просто играться с технологиями, а создать игру стоит выбрать gdscript или c# на котором можно писать достаточно быстро и сам он быстр (если ты беспокоишься об этом) , к тому же если ты до этого писал на c#, этот опыт пригодится в разработке игры и наоборот опыт разработки игры на c# может пригодится где-либо ещё.
      Я могу понять использование c++ в godot, но не как языка сценария для всей игры, в этом просто нет нужны, а для использования каких нибудь библиотек нужных тебе (на c++ много классных библиотек ) или если тебе прям ну очень нужен быстрый код (для участка кода являющийся бутылочным горлышком, который необходимо обрабатывать каждый кадр, если же не каждым хватит и умелого использования асинхорнности и многопоточности).

  • @Teritsmexa
    @Teritsmexa Рік тому +1

    у меня выдает ошибку когда пишу scons, пишу эту команду в файле godot-cpp
    "scons" не является внутренней или внешней командой, исполняемой программой или пакетным файлом

    • @Геймдевим
      @Геймдевим  Рік тому

      Значит надо посмотреть моё предыдущие видео про scons и его установить)

  • @ProstoLen
    @ProstoLen Рік тому +1

    Я вообще не понимаю как scons в этом случае нормально отрабатывает. Делаю всё также, вечно чего - то не хватает.

    • @ProstoLen
      @ProstoLen Рік тому

      scons: *** [godot-cpp\src\godot.windows.template_debug.x86_64.o] Не удается найти указанный файл

    • @Геймдевим
      @Геймдевим  Рік тому

      @@ProstoLenТы по-моему неверно команду указываешь

    • @ProstoLen
      @ProstoLen Рік тому

      @@Геймдевим я разобрался, но забыл что надо было поменять)

  • @1FireKnight1
    @1FireKnight1 9 місяців тому

    КОГДА ГАЙД

  • @Lol_deb
    @Lol_deb 5 місяців тому

    у меня вышла ошибка:
    C:\Users\hsama\Documents\gdextension_cpp_example\godot-cpp>scons
    scons: Reading SConscript files ...
    NameError: name 'BoolVariable' is not defined:
    File "C:\Users\hsama\Documents\gdextension_cpp_example\godot-cpp\SConstruct", line 36:
    cpp_tool.options(opts, env)
    File "C:\Users\hsama\Documents\gdextension_cpp_example\godot-cpp\tools\godotcpp.py", line 325:
    tool.options(opts)
    File "C:\Users\hsama\Documents\gdextension_cpp_example\godot-cpp\tools\ios.py", line 24:
    opts.Add(BoolVariable("ios_simulator", "Target iOS Simulator", False))

  • @user-savvafa
    @user-savvafa Рік тому +1

    Чел, в каком месте gdscript проприетарный?

    • @Геймдевим
      @Геймдевим  Рік тому

      Я под этим понимал, что типа он именно в godot используется и к нему привязан

  • @_Ghost1rider_
    @_Ghost1rider_ Місяць тому

    на версии 4.3

  • @_Ghost1rider_
    @_Ghost1rider_ Місяць тому

    ни фига не вышло 2 раза делал

  • @monkeyhead23
    @monkeyhead23 10 місяців тому

    нахрена, а главное зачем? я понимаю что на плюсах код будет работать быстрее, но оно того не стоит.

    • @litarinn
      @litarinn 10 місяців тому

      на плюсах возможностей больше
      наследование больше развито как минимум

    • @zadrew
      @zadrew 27 днів тому

      намного удобней на плюсах

  • @williamgodwinACAB
    @williamgodwinACAB Рік тому +1

    чёйто он проприетарный? О_О

    • @Геймдевим
      @Геймдевим  Рік тому

      Кто?)

    • @williamgodwinACAB
      @williamgodwinACAB Рік тому

      @@Геймдевим GDscript. Оговорочка))

    • @defolt7
      @defolt7 Рік тому

      ну бывает, а что это значит?

    • @williamgodwinACAB
      @williamgodwinACAB Рік тому

      @@defolt7 что ПО закрытое и\или пренадлежит кому-то. Авторское право и все такое.

  • @raizenradeonovich1570
    @raizenradeonovich1570 4 місяці тому

    бля в папке bin есть только файлы
    liblibgdexample.windows.template_debug.x86_64.a
    libgdexample.windows.template_debug.x86_64.dll
    gdexample.gdextension
    одного не хватает. при чем годот не видит файл gdexample. кто-то сталкивася?

  • @killkostll2455
    @killkostll2455 6 місяців тому

    после scons пишет
    g++: warning: /std:c++14: linker input file unused because linking not done
    g++: error: ry
    g++: warning: not done
    g++:scons: *** [src\core\Array.windows.debug.64.o] Error 1
    g++: warning: /std:c++14: linker input file unused because linking not done
    g++: error: /std:c++14: linker input file not found: No such file or directory
    g++: warning: /Z7: linker input file unused because linking not done
    g++: error: /Z7: linker input file not found: No such file or directory
    g++: warning: /Od: linker input file unused because linking not done
    g++: error: /Od: linker input file not found: No such file or directory
    g++: warning: /EHsc: linker input file unused because linking not done
    g++: error: /EHsc: linker input file not found: No such file or directory
    g++: warning: /D_DEBUG: linker input file unused because linking not done
    g++: error: /D_DEBUG: linker input file not found: No such file or directory
    g++: warning: /MDd: linker input file unused because linking not done
    g++: error: /MDd: linker input file not found: No such file or directory
    scons: *** [src\core\AABB.windows.debug.64.o] Error 1
    g++: warning: /std:c++14: linker input file unused because linking not done
    g++: error: /std:c++14: linker input file not found: No such file or directory
    g++: warning: /Z7: linker input file unused because linking not done
    g++: error: /Z7: linker input file not found: No such file or directory
    g++: warning: /Od: linker input file unused because linking not done
    g++: error: /Od: linker input file not found: No such file or directory
    g++: warning: /EHsc: linker input file unused because linking not done
    g++: error: /EHsc: linker input file not found: No such file or directory
    g++: warning: /D_DEBUG: linker input file unused because linking not done
    g++: error: /D_DEBUG: linker input file not found: No such file or directory
    g++: warning: /MDd: linker input file unused because linking not done
    g++: error: /MDd: linker input file not found: No such file or directory
    scons: *** [src\core\Basis.windows.debug.64.o] Error 1
    g++: warning: /std:c++14: linker input file unused because linking not done
    g++: error: /std:c++14: linker input file not found: No such file or directory
    g++: warning: /Z7: linker input file unused because linking not done
    g++: error: /Z7: linker input file not found: No such file or directory
    g++: warning: /Od: linker input file unused because linking not done
    g++: error: /Od: linker input file not found: No such file or directory
    g++: warning: /EHsc: linker input file unused because linking not done
    g++: error: /EHsc: linker input file not found: No such file or directory
    g++: warning: /D_DEBUG: linker input file unused because linking not done
    g++: error: /D_DEBUG: linker input file not found: No such file or directory
    g++: warning: /MDd: linker input file unused because linking not done
    g++: error: /MDd: linker input file not found: No such file or directory
    scons: *** [src\core\CameraMatrix.windows.debug.64.o] Error 1
    scons: building terminated because of errors.

    • @killkostll2455
      @killkostll2455 6 місяців тому

      помоги пожалуйста