Page 1 of 1

Linux build failing yet again

PostPosted: Sun Jun 17, 2018 5:19 pm
by Shoegazer
Hello,

Compiling with Mint 18.3 yields the following:

Code: Select all
obj/New3D.o: In function `New3D::CNew3D::Init(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)':
New3D.cpp:(.text+0x171): undefined reference to `New3D::R3DFrameBuffers::CreateFBO(int, int)'
obj/New3D.o: In function `New3D::CNew3D::~CNew3D()':
New3D.cpp:(.text+0x220): undefined reference to `New3D::R3DFrameBuffers::~R3DFrameBuffers()'
obj/New3D.o: In function `New3D::CNew3D::CNew3D(Util::Config::Node const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
New3D.cpp:(.text+0x30c9): undefined reference to `New3D::R3DFrameBuffers::R3DFrameBuffers()'
obj/New3D.o: In function `New3D::CNew3D::RenderFrame()':
New3D.cpp:(.text+0x79b4): undefined reference to `New3D::R3DFrameBuffers::Clear(unsigned int)'
New3D.cpp:(.text+0x79d4): undefined reference to `New3D::R3DFrameBuffers::SetFBO(New3D::Layer)'
New3D.cpp:(.text+0x7a04): undefined reference to `New3D::R3DFrameBuffers::StoreDepth()'
New3D.cpp:(.text+0x7a11): undefined reference to `New3D::R3DFrameBuffers::SetFBO(New3D::Layer)'
New3D.cpp:(.text+0x7a2c): undefined reference to `New3D::R3DFrameBuffers::RestoreDepth()'
New3D.cpp:(.text+0x7a39): undefined reference to `New3D::R3DFrameBuffers::SetFBO(New3D::Layer)'
New3D.cpp:(.text+0x7ab2): undefined reference to `New3D::R3DFrameBuffers::Draw()'
New3D.cpp:(.text+0x7b30): undefined reference to `New3D::R3DFrameBuffers::DisableFBO()'
collect2: error: ld returned 1 exit status
Makefiles/Makefile.inc:263: recipe for target 'bin/supermodel' failed
make: *** [bin/supermodel] Error 1


Any ideas what's going on?

Re: Linux build failing yet again

PostPosted: Mon Jun 18, 2018 4:07 am
by Ian
You need to add R3DFrameBuffers.cpp to the makefile
and probably GLSLShader.cpp too

Re: Linux build failing yet again

PostPosted: Mon Jun 18, 2018 1:33 pm
by Shoegazer
Thanks, Ian. I'll use this manual process until a fix can be made to the codebase.

I tried adding the following lines to the Makefile:

Code: Select all
include Src/Graphics/New3D/R3DFrameBuffers.cpp
include Src/Graphics/New3D/GLSLShader.cpp


However, compiling now returns the following error:

Code: Select all
Src/Graphics/New3D/R3DFrameBuffers.cpp:6: *** missing separator.  Stop.


Any ideas here?