Open lavstudia opened 1 week ago
Which branch did you run? The most up to date, and functional branch is the cpp branch, which will be merged to the dev branch once it matches the dev branch in features. The main branch will not be functional until the first public release of Glecs.
I also have not yet tested for operating systems other than Linux nor the mono build of Godot. This project is still fairly early, and I do not expect it to work on other machines yet.
Thank you for your interest in the project!
Great project!
cpp branch. Minor modifications with SConstruct (addons/glecs/cpp) for successful build under Windows.
What changes did you make? I might need to add them to the project.
Also, I don't think I setup the .gdextension
file properly for any platforms other than linux x86_64 debug.
I’m not sure that I’m very competent in this matter, but for me this turned out to be a working option:
...
platform:str = env["platform"]
target:str = env["target"]
suffix:str = env["suffix"]
shlib_suffix:str = env["SHLIBSUFFIX"]
# TODO: For Windows
env['CXXFLAGS'].remove('/std:c++17')
env.Append(CXXFLAGS=['/std:c++20'])
# For reference:
# - CCFLAGS are compilation flags shared between C and C++
# - CFLAGS are for C-specific compilation flags
# - CXXFLAGS are for C++-specific compilation flags
# - CPPFLAGS are for pre-processor flags
# - CPPDEFINES are for pre-processor defines
# - LINKFLAGS are for linking flags
...
...
windows.release.x86_64 = "./bin/libglecs.windows.template_debug.x86_64.dll"
windows.debug.x86_64 = "./bin/libglecs.windows.template_debug.x86_64.dll"
...
That's weird that you need to change the cpp version to 20. When you build, you just run the command scons
with no other arguments, right?
I Build it via:
scons --directory addons/glecs/cpp target=template_debug debug_symbols=yes optimize=debug
or
scons --directory addons/glecs/cpp
doesn't matter
If you do not change the cpp version, there will be an error:
...
src\component_builder.cpp(45): error C7555: use of designated initializers requires at least '/std:c++20'
src\component_builder.cpp(112): error C7555: use of designated initializers requires at least '/std:c++20'
scons: *** [src\component_builder.windows.template_debug.x86_64.obj] Error 2
src\module.cpp(66): error C7555: use of designated initializers requires at least '/std:c++20'
scons: *** [src\module.windows.template_debug.x86_64.obj] Error 2
src\observer_builder.cpp(31): error C7555: use of designated initializers requires at least '/std:c++20'
scons: *** [src\observer_builder.windows.template_debug.x86_64.obj] Error 2
src\querylike_builder.cpp(64): error C7555: use of designated initializers requires at least '/std:c++20'
src\querylike_builder.cpp(76): error C7555: use of designated initializers requires at least '/std:c++20'
src\querylike_builder.cpp(102): error C7555: use of designated initializers requires at least '/std:c++20'
src\querylike_builder.cpp(114): error C7555: use of designated initializers requires at least '/std:c++20'
scons: *** [src\querylike_builder.windows.template_debug.x86_64.obj] Error 2
src\system_builder.cpp(36): error C7555: use of designated initializers requires at least '/std:c++20'
scons: *** [src\system_builder.windows.template_debug.x86_64.obj] Error 2
scons: building terminated because of errors.
It looks like a minor refactor to fix the C7555 error. I'll look into doing that.
Run main.gs:
Input ready Test start
================================================================ CrashHandlerException: Program crashed with signal 11 Engine version: Godot Engine v4.3.stable.mono.official (77dcf97d82cbfe4e4615475fa52ca03da645dbd8) Dumping the backtrace. Please include this when reporting the bug to the project developer. [1] error(-1): no debug info in PE/COFF executable [2] error(-1): no debug info in PE/COFF executable [3] error(-1): no debug info in PE/COFF executable [4] error(-1): no debug info in PE/COFF executable [5] error(-1): no debug info in PE/COFF executable [6] error(-1): no debug info in PE/COFF executable -- END OF BACKTRACE --