RetroDebugger icon indicating copy to clipboard operation
RetroDebugger copied to clipboard

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

Open devnull73 opened this issue 1 year ago • 1 comments

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 to internalJSONNode::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 to internalJSONNode::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 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 to internalJSONNode::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 to internalJSONNode::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 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 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 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 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 to internalJSONNode::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 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 to internalJSONNode::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):

  • Ubuntu 22.04

devnull73 avatar Mar 25 '24 07:03 devnull73

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

slajerek avatar Apr 23 '24 15:04 slajerek