slajerek / RetroDebugger

Retro Debugger is a multiplatform debugger APIs host for retro computers: C64 (Vice), Atari800 and NES (NestopiaUE).
175 stars 20 forks source link

Still have linking failure due to "undefined reference" errors. #30

Closed devnull73 closed 3 months ago

devnull73 commented 6 months ago

Describe the bug Build succeeds til 100%, at which point the linking fails.

To Reproduce Steps to reproduce the behavior:

  1. Checkout retrodebugger and MTEngineSDL
  2. cd RetroDebugger; mkdir build; cmake ./../; make
  3. Wait for errors

Expected behavior Retrodebugger should build successfully.

Screenshots [100%] Linking CXX executable retrodebugger /usr/bin/ld: CMakeFiles/retrodebugger.dir/src/Views/JukeboxPlaylist/CJukeboxPlaylist.cpp.o: in function JSONNode::as_float() const': /home/simon/dev/c64/RetroDebugger/../MTEngineSDL/src/Engine/Libs/libjson/_internal/Source/JSONNode.h:676: undefined reference tointernalJSONNode::operator double() const' /usr/bin/ld: CMakeFiles/retrodebugger.dir/src/Views/JukeboxPlaylist/CJukeboxPlaylist.cpp.o: in function JSONNode::as_int() const': /home/simon/dev/c64/RetroDebugger/../MTEngineSDL/src/Engine/Libs/libjson/_internal/Source/JSONNode.h:671: undefined reference tointernalJSONNode::operator long() const' /usr/bin/ld: CMakeFiles/retrodebugger.dir/src/Views/JukeboxPlaylist/CJukeboxPlaylist.cpp.o: in function JSONNode::as_float() const': /home/simon/dev/c64/RetroDebugger/../MTEngineSDL/src/Engine/Libs/libjson/_internal/Source/JSONNode.h:676: undefined reference tointernalJSONNode::operator double() const' /usr/bin/ld: /home/simon/dev/c64/RetroDebugger/../MTEngineSDL/src/Engine/Libs/libjson/_internal/Source/JSONNode.h:676: undefined reference to internalJSONNode::operator double() const' /usr/bin/ld: CMakeFiles/retrodebugger.dir/src/Views/JukeboxPlaylist/CJukeboxPlaylist.cpp.o: in functionJSONNode::as_int() const': /home/simon/dev/c64/RetroDebugger/../MTEngineSDL/src/Engine/Libs/libjson/_internal/Source/JSONNode.h:671: undefined reference to internalJSONNode::operator long() const' /usr/bin/ld: CMakeFiles/retrodebugger.dir/src/Views/JukeboxPlaylist/CJukeboxPlaylist.cpp.o: in functionJSONNode::as_float() const': /home/simon/dev/c64/RetroDebugger/../MTEngineSDL/src/Engine/Libs/libjson/_internal/Source/JSONNode.h:676: undefined reference to internalJSONNode::operator double() const' /usr/bin/ld: /home/simon/dev/c64/RetroDebugger/../MTEngineSDL/src/Engine/Libs/libjson/_internal/Source/JSONNode.h:676: undefined reference tointernalJSONNode::operator double() const' /usr/bin/ld: /home/simon/dev/c64/RetroDebugger/../MTEngineSDL/src/Engine/Libs/libjson/_internal/Source/JSONNode.h:676: undefined reference to internalJSONNode::operator double() const' /usr/bin/ld: /home/simon/dev/c64/RetroDebugger/../MTEngineSDL/src/Engine/Libs/libjson/_internal/Source/JSONNode.h:676: undefined reference tointernalJSONNode::operator double() const' /usr/bin/ld: /home/simon/dev/c64/RetroDebugger/../MTEngineSDL/src/Engine/Libs/libjson/_internal/Source/JSONNode.h:676: undefined reference to internalJSONNode::operator double() const' /usr/bin/ld: CMakeFiles/retrodebugger.dir/src/Views/JukeboxPlaylist/CJukeboxPlaylist.cpp.o: in functionJSONNode::as_int() const': /home/simon/dev/c64/RetroDebugger/../MTEngineSDL/src/Engine/Libs/libjson/_internal/Source/JSONNode.h:671: undefined reference to internalJSONNode::operator long() const' /usr/bin/ld: /home/simon/dev/c64/RetroDebugger/../MTEngineSDL/src/Engine/Libs/libjson/_internal/Source/JSONNode.h:671: undefined reference tointernalJSONNode::operator long() const' collect2: error: ld returned 1 exit status make[2]: [CMakeFiles/retrodebugger.dir/build.make:3032: retrodebugger] Error 1 make[1]: [CMakeFiles/Makefile2:198: CMakeFiles/retrodebugger.dir/all] Error 2 make: *** [Makefile:91: all] Error 2

Desktop (please complete the following information):

slajerek commented 5 months ago

I've updated CMakeLists, and this compiles for me on my Debian. Please check.