Хм, а можно ли при сборке самой библиотеки (итоговой) не использовать Scons? В старой версии движка (где еще был GDNative) это было возможно, получившийся после сборки биндингов годота .lib можно было спокойно прилинковать к своей библиотеке и собрать её хоть в Visual Studio хоть где-то еще, юзая CMake например. В случае с 4-ой версией почему-то такого сделать не удается (пытаюсь собрать на CMake/MinGW, но и в случае с CMake/MSVC аналогично). Ошибки линковки. Может знаете в чем дело? Кто-нибудь пробовал?
Все дело оказалось в статической линковке с рантаймом. И да, по умолчанию scons юзает именно MSVC при сборке .lib файлов (не в курсе, можно ли переключить MinGW/GCC). Поэтому при сборке вашей библиотеки надо чтобы она тоже линковалась с рантаймом статически (и собиралась также MSVC компилятором) - в CMake это будет опция MSVC_RUNTIME_LIBRARY - "MultiThreaded"
Решение проблемы: > "scons" не является внутренней или внешней командой, исполняемой программой или пакетным файлом Установите питон и потом в cmd просто вставьте pip install scons Усе
бро можешь помочь пж что это за ошибка: 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))
@@Геймдевим Скорей всего какого уровня игру бы он не разрабатывал, ему в жизни не придётся о том что GDscript медленный. Если игра тормозит, дело вероятнее всего не в языке, а в коде. Если хочется не просто играться с технологиями, а создать игру стоит выбрать gdscript или c# на котором можно писать достаточно быстро и сам он быстр (если ты беспокоишься об этом) , к тому же если ты до этого писал на c#, этот опыт пригодится в разработке игры и наоборот опыт разработки игры на c# может пригодится где-либо ещё. Я могу понять использование c++ в godot, но не как языка сценария для всей игры, в этом просто нет нужны, а для использования каких нибудь библиотек нужных тебе (на c++ много классных библиотек ) или если тебе прям ну очень нужен быстрый код (для участка кода являющийся бутылочным горлышком, который необходимо обрабатывать каждый кадр, если же не каждым хватит и умелого использования асинхорнности и многопоточности).
у меня выдает ошибку когда пишу scons, пишу эту команду в файле godot-cpp "scons" не является внутренней или внешней командой, исполняемой программой или пакетным файлом
у меня вышла ошибка: 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))
бля в папке bin есть только файлы liblibgdexample.windows.template_debug.x86_64.a libgdexample.windows.template_debug.x86_64.dll gdexample.gdextension одного не хватает. при чем годот не видит файл gdexample. кто-то сталкивася?
после 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.
Спасибо тебе, получилось подключить С++, даже изменения в скрипте работают. От всей души благодарю
Человек заслуживает Оскара, спасибо, интернет будет о тебе помнить
Спасибо за видео!
Спасибо тебе за помощь
Ты можеш не ограничено пользоваться с C++ в Godot используя функции C++ или только по этому сайту?
Спасибо парниршка! Годот наше все!
Что делать если в годот не отображает новый узел GDExample
почему "scons" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
понял
Хм, а можно ли при сборке самой библиотеки (итоговой) не использовать Scons? В старой версии движка (где еще был GDNative) это было возможно, получившийся после сборки биндингов годота .lib можно было спокойно прилинковать к своей библиотеке и собрать её хоть в Visual Studio хоть где-то еще, юзая CMake например. В случае с 4-ой версией почему-то такого сделать не удается (пытаюсь собрать на CMake/MinGW, но и в случае с CMake/MSVC аналогично). Ошибки линковки. Может знаете в чем дело? Кто-нибудь пробовал?
Все дело оказалось в статической линковке с рантаймом. И да, по умолчанию scons юзает именно MSVC при сборке .lib файлов (не в курсе, можно ли переключить MinGW/GCC). Поэтому при сборке вашей библиотеки надо чтобы она тоже линковалась с рантаймом статически (и собиралась также MSVC компилятором) - в CMake это будет опция MSVC_RUNTIME_LIBRARY - "MultiThreaded"
То есть при каждом изменении какого либо скрипта, нужно полностью пересобирать проект с помощью scons'a?
Да, такова учесть проги на плюсах
Решение проблемы:
> "scons" не является внутренней или внешней командой, исполняемой программой или пакетным файлом
Установите питон и потом в cmd просто вставьте pip install scons
Усе
бро можешь помочь пж что это за ошибка:
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))
@@Lol_deb как решил
@@raizenradeonovich1570 загугли: NameError: name 'BoolVariable' is not defined: я этот вопрос на Хабре задал там ответили
спасибо огромноеее!!!
Когда продолжение?
А продолжение будет?
Надеюсь, что да)
Не будет
у меня пишет что git не является внутренней или внешней командой
Значит надо установить гит на пк)
аа, хорошо
@@Геймдевим
@@Геймдевим а если scons Не работает
@@_scorlenty_12 Значит нужно его установить) А лучше посмотреть моё предыдущие видео
"git" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
А что собственно делать?
Установить git)
Круто конечно но скажу одно, то что я сначала тоже хотел внедрить c++ в godot чтобы кодить на нем, но потом понял что намного легче изучать gdscript
Он тебе не даст таких скоростей, как на плюсах
@@Геймдевим типо когда большие работы? Если ты не про это то он и так быстрый
@@Геймдевим он наверное хотел романтику на cpp, но оказалось что и гд подойдёт для простенькой гиперказуалки
@@Геймдевим Скорей всего какого уровня игру бы он не разрабатывал, ему в жизни не придётся о том что GDscript медленный. Если игра тормозит, дело вероятнее всего не в языке, а в коде. Если хочется не просто играться с технологиями, а создать игру стоит выбрать gdscript или c# на котором можно писать достаточно быстро и сам он быстр (если ты беспокоишься об этом) , к тому же если ты до этого писал на c#, этот опыт пригодится в разработке игры и наоборот опыт разработки игры на c# может пригодится где-либо ещё.
Я могу понять использование c++ в godot, но не как языка сценария для всей игры, в этом просто нет нужны, а для использования каких нибудь библиотек нужных тебе (на c++ много классных библиотек ) или если тебе прям ну очень нужен быстрый код (для участка кода являющийся бутылочным горлышком, который необходимо обрабатывать каждый кадр, если же не каждым хватит и умелого использования асинхорнности и многопоточности).
у меня выдает ошибку когда пишу scons, пишу эту команду в файле godot-cpp
"scons" не является внутренней или внешней командой, исполняемой программой или пакетным файлом
Значит надо посмотреть моё предыдущие видео про scons и его установить)
Я вообще не понимаю как scons в этом случае нормально отрабатывает. Делаю всё также, вечно чего - то не хватает.
scons: *** [godot-cpp\src\godot.windows.template_debug.x86_64.o] Не удается найти указанный файл
@@ProstoLenТы по-моему неверно команду указываешь
@@Геймдевим я разобрался, но забыл что надо было поменять)
КОГДА ГАЙД
у меня вышла ошибка:
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))
Чел, в каком месте gdscript проприетарный?
Я под этим понимал, что типа он именно в godot используется и к нему привязан
на версии 4.3
ни фига не вышло 2 раза делал
нахрена, а главное зачем? я понимаю что на плюсах код будет работать быстрее, но оно того не стоит.
на плюсах возможностей больше
наследование больше развито как минимум
намного удобней на плюсах
чёйто он проприетарный? О_О
Кто?)
@@Геймдевим GDscript. Оговорочка))
ну бывает, а что это значит?
@@defolt7 что ПО закрытое и\или пренадлежит кому-то. Авторское право и все такое.
бля в папке bin есть только файлы
liblibgdexample.windows.template_debug.x86_64.a
libgdexample.windows.template_debug.x86_64.dll
gdexample.gdextension
одного не хватает. при чем годот не видит файл gdexample. кто-то сталкивася?
после 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.
помоги пожалуйста