matus-chochlik / oglplus

OGLplus is a collection of open-source, cross-platform libraries which implement an object-oriented facade over the OpenGL® (version 3 and higher) and also OpenAL® (version 1.1) and EGL (version 1.4) C-language APIs. It provides wrappers which automate resource and object management and make the use of these libraries in C++ safer and more convenient.
http://oglplus.org/
Boost Software License 1.0
491 stars 72 forks source link

004_any_text_rendering.cpp : AnyRendering<STBTrueTypeRendering> build error #101

Closed AdamEttenberger closed 9 years ago

AdamEttenberger commented 9 years ago

Building with Visual Studio 2013

error C2248: 'oglplus::Object<oglplus::ProgramOps>::Object' : cannot access private member declared in class 'oglplus::Object<oglplus::ProgramOps>'
see declaration of 'oglplus::Object<oglplus::ProgramOps>::Object'
This diagnostic occurred in the compiler generated function 'oglplus::text::BitmapGlyphRenderer::BitmapGlyphRenderer(const oglplus::text::BitmapGlyphRenderer &)'
typedef oglplus::text::AnyTextRendering TextRendering;
TextRendering tr(oglplus::text::STBTrueTypeRendering(0, 1, 2));

It looks like the path leading to oglplus::text::AnyRendering::_impl should all be rvalue because of std::move, yet somewhere the compiler believes it should copy, causing the error attempting to copy oglplus::Program.