make fails because of the ImGui
UgurcanAkkok opened this issue · 1 comments
UgurcanAkkok commented
I cloned the repository and run make. Make failed because imgui was not present, i cd into third_party/ and cloned the imgui (https://github.com/ocornut/imgui.git). Then i run make again. This time it started to compile but it exited with these errors:
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc: In member function ‘bool Debugger::Init(const char*, int, int, int, bool, u32, u32, bool)’:
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:127:21: error: ‘ImGuiConfigFlags_DockingEnable’ was not declared in this scope; did you mean ‘ImGuiConfigFlags_None’?
127 | io.ConfigFlags |= ImGuiConfigFlags_DockingEnable;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| ImGuiConfigFlags_None
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:128:6: error: ‘struct ImGuiIO’ has no member named ‘ConfigDockingWithShift’
128 | io.ConfigDockingWithShift = false;
| ^~~~~~~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc: In member function ‘void Debugger::Run()’:
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:241:18: error: ‘DockBuilderGetNode’ is not a member of ‘ImGui’
241 | if (ImGui::DockBuilderGetNode(dockspace_id) == nullptr) {
| ^~~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:242:16: error: ‘DockBuilderRemoveNode’ is not a member of ‘ImGui’
242 | ImGui::DockBuilderRemoveNode(dockspace_id);
| ^~~~~~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:243:16: error: ‘DockBuilderAddNode’ is not a member of ‘ImGui’
243 | ImGui::DockBuilderAddNode(dockspace_id, ImGui::GetIO().DisplaySize);
| ^~~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:249:16: error: ‘DockBuilderSplitNode’ is not a member of ‘ImGui’
249 | ImGui::DockBuilderSplitNode(dockspace_id, ImGuiDir_Left, 0.333f, &left,
| ^~~~~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:251:16: error: ‘DockBuilderSplitNode’ is not a member of ‘ImGui’
251 | ImGui::DockBuilderSplitNode(left, ImGuiDir_Up, 0.666f, &left_top,
| ^~~~~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:253:22: error: ‘DockBuilderSplitNode’ is not a member of ‘ImGui’
253 | mid = ImGui::DockBuilderSplitNode(mid, ImGuiDir_Left, 0.5f, nullptr,
| ^~~~~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:255:16: error: ‘DockBuilderSplitNode’ is not a member of ‘ImGui’
255 | ImGui::DockBuilderSplitNode(mid, ImGuiDir_Up, 0.5f, &mid_top,
| ^~~~~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:258:16: error: ‘DockBuilderDockWindow’ is not a member of ‘ImGui’
258 | ImGui::DockBuilderDockWindow(s_emulator_window_name, left_top);
| ^~~~~~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:259:16: error: ‘DockBuilderDockWindow’ is not a member of ‘ImGui’
259 | ImGui::DockBuilderDockWindow(s_audio_window_name, left_bottom);
| ^~~~~~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:260:16: error: ‘DockBuilderDockWindow’ is not a member of ‘ImGui’
260 | ImGui::DockBuilderDockWindow(s_rewind_window_name, left_bottom);
| ^~~~~~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:261:16: error: ‘DockBuilderDockWindow’ is not a member of ‘ImGui’
261 | ImGui::DockBuilderDockWindow(s_obj_window_name, mid_top);
| ^~~~~~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:262:16: error: ‘DockBuilderDockWindow’ is not a member of ‘ImGui’
262 | ImGui::DockBuilderDockWindow(s_tiledata_window_name, mid_top);
| ^~~~~~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:263:16: error: ‘DockBuilderDockWindow’ is not a member of ‘ImGui’
263 | ImGui::DockBuilderDockWindow(s_map_window_name, mid_bottom);
| ^~~~~~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:264:16: error: ‘DockBuilderDockWindow’ is not a member of ‘ImGui’
264 | ImGui::DockBuilderDockWindow(s_disassembly_window_name, right);
| ^~~~~~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:265:16: error: ‘DockBuilderDockWindow’ is not a member of ‘ImGui’
265 | ImGui::DockBuilderDockWindow(s_memory_window_name, right);
| ^~~~~~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:266:16: error: ‘DockBuilderDockWindow’ is not a member of ‘ImGui’
266 | ImGui::DockBuilderDockWindow(s_io_window_name, right);
| ^~~~~~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:267:16: error: ‘DockBuilderDockWindow’ is not a member of ‘ImGui’
267 | ImGui::DockBuilderDockWindow(s_rom_window_name, right);
| ^~~~~~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:268:16: error: ‘DockBuilderFinish’ is not a member of ‘ImGui’
268 | ImGui::DockBuilderFinish(dockspace_id);
| ^~~~~~~~~~~~~~~~~
/home/ucak/Projects/emulator/binjgb/src/debugger/debugger.cc:271:14: error: ‘DockSpace’ is not a member of ‘ImGui’
271 | ImGui::DockSpace(dockspace_id);
| ^~~~~~~~~
make[3]: *** [CMakeFiles/binjgb-debugger.dir/build.make:232: CMakeFiles/binjgb-debugger.dir/src/debugger/debugger.cc.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:171: CMakeFiles/binjgb-debugger.dir/all] Error 2
make[1]: *** [Makefile:130: all] Error 2
make: *** [Makefile:15: debug] Error 2
binji commented
Sorry, I didn't see this until now. Instead of cloning directly, you need to use git submodules:
git submodule update --init
This will check out the docking branch of imgui.
I've updated the README to include this: https://github.com/binji/binjgb/blob/master/README.md#cloning