lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi] Multi-toolchain builds


From: Greg Chicares
Subject: [lmi] Multi-toolchain builds
Date: Thu, 25 Apr 2019 19:35:42 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1

In branch odd/multiarch, I imagine that I can substitute
  s/$LMI_HOST/${LMI_TOOLCHAIN}_${LMI_HOST}/
in the appropriate places, with appropriate variations for
makefiles vs. scripts, and then I'll have an seaworthy
directory structure for 'gcc_i686-w64-mingw32' etc., and
also for 'clang_i686-w64-mingw32' and so on. Are the
subsequent steps to build with clang trivial and obvious,
or are there any tricks and traps I should be aware of?

I ask because I'm looking at the monstrous error message
below, and I know how to fix it, but one does grow weary
of gcc's error messages.

In file included from 
/usr/lib/gcc/i686-w64-mingw32/7.3-win32/include/c++/memory:80:0,
                 from /opt/lmi/src/lmi/xml_lmi.hpp:33,
                 from /opt/lmi/src/lmi/ledger.hpp:30,
                 from /opt/lmi/src/lmi/pdf_command_wx.cpp:35:
/usr/lib/gcc/i686-w64-mingw32/7.3-win32/include/c++/bits/unique_ptr.h: In 
instantiation of 'typename std::_MakeUniq<_Tp>::__single_object 
std::make_unique(_Args&& ...) [with _Tp = {anonymous}::cover_page; _Args = 
{{anonymous}::pdf_illustration&, const Ledger&, pdf_writer_wx&, const 
{anonymous}::html_interpolator&}; typename std::_MakeUniq<_Tp>::__single_object 
= std::unique_ptr<{anonymous}::cover_page, 
std::default_delete<{anonymous}::cover_page> >]':
/opt/lmi/src/lmi/pdf_command_wx.cpp:800:17:   required from 'void 
{anonymous}::pdf_illustration::add(Args&& ...) [with T = 
{anonymous}::cover_page; Args = {}]'
/opt/lmi/src/lmi/pdf_command_wx.cpp:2327:25:   required from here
/usr/lib/gcc/i686-w64-mingw32/7.3-win32/include/c++/bits/unique_ptr.h:825:30: 
error: invalid new-expression of abstract class type '{anonymous}::cover_page'
     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/lmi/src/lmi/pdf_command_wx.cpp:1340:7: note:   because the following 
virtual functions are pure within '{anonymous}::cover_page':
 class cover_page : public numbered_page
       ^~~~~~~~~~
/opt/lmi/src/lmi/pdf_command_wx.cpp:1320:17: note:      virtual int 
{anonymous}::numbered_page::get_extra_pages_needed()
     virtual int get_extra_pages_needed() = 0;
                 ^~~~~~~~~~~~~~~~~~~~~~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]