Hi, I've been having some issues booting ECL in programs where I am not in control of the main function entry. I've tried running the main program with gdb after compiling ECL with debug enabled, but I haven't gotten any useful output so far, just that cl_boot triggered an exit with code 1. I will continue to hit my head against the wall with it.
It's clear that my program is crashing on cl_boot though, which I'm calling when the dll is initialized like so: char* argv; char** pargv; argv = "app"; pargv = &argv; cl_boot(1, pargv);
I got this weird setup from some notes I took a number of years ago, but I can't seem to find this usage anywhere, so it might be related. Off-hand, I've also tried using cl_boot with 0 and NULL as the arguments, but the result is the same.
I am using MSVC-compiled ECL and I can still call ecl_get_option(ECL_OPT_BOOTED) to see that it is clearly not already booted. Would anyone happen to know if I'm doing something obviously wrong?
Thanks! Jason Chandler
Never mind, it appears to be an issue specific to the program (Godot) I am using to embed ECL. I saw that EQL uses a similar boot signature and it works fine. I ran it under MSVC debugger with symbols and I see that the class that has the issue belongs to the project.
For those interested:
[0] Node3DEditorViewport::_update_camera (godot\editor\plugins\node_3d_editor_plugin.cpp:548) [1] Node3DEditorViewport::_notification (godot\editor\plugins\node_3d_editor_plugin.cpp:2775) [2] Node3DEditorViewport::_notificationv (godot\editor\plugins\node_3d_editor_plugin.h:104) [3] Object::notification (godot\core\object\object.cpp:837) [4] SceneTree::_process_group (godot\scene\main\scene_tree.cpp:951) [5] SceneTree::_process (godot\scene\main\scene_tree.cpp:1028) [6] SceneTree::process (godot\scene\main\scene_tree.cpp:510) [7] Main::iteration (godot\main\main.cpp:3678) [8] OS_Windows::run (godot\platform\windows\os_windows.cpp:1474) [9] widechar_main (godot\platform\windows\godot_windows.cpp:180) [10] _main (godot\platform\windows\godot_windows.cpp:204) [11] main (godot\platform\windows\godot_windows.cpp:218) [12] WinMain (godot\platform\windows\godot_windows.cpp:232) [13] __scrt_common_main_seh (D:\a_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
I've found that even though the EditorCamera crashes on cl_boot, the in-game Camera continues to work just fine. If I delay booting until the start of the child program, there are no issues.
I may look into the EditorCamera issue some more since it'd be convenient to use CL in the editor, but this is not an ECL issue. Sorry for the noise.
Thanks, Jason Chandler