slajerek/RetroDebugger

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

Closed this issue · 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

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