[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;
^~~~~~~~~~~~~~~~~~~~~~
- [lmi] Multi-toolchain builds,
Greg Chicares <=