binji / binjgb

Gameboy emulator implemented in C, that also runs in the browser
https://binji.github.io/binjgb/
MIT License
534 stars 61 forks source link

make fails because of the ImGui #21

Closed UgurcanAkkok closed 3 years ago

UgurcanAkkok commented 5 years ago

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 4 years ago

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