Re: [MacPorts] #37237: widelands: error: ‘void Widelands::Ship::set_fleet(Widelands::Fleet*)’ is private

MacPorts noreply at macports.org
Sun Dec 9 14:53:49 PST 2012


#37237: widelands: error: ‘void Widelands::Ship::set_fleet(Widelands::Fleet*)’ is
private
-----------------------------+--------------------------------
  Reporter:  gilles.risch@…  |      Owner:  macports-tickets@…
      Type:  defect          |     Status:  new
  Priority:  Normal          |  Milestone:
 Component:  ports           |    Version:  2.1.2
Resolution:                  |   Keywords:  tiger leopard
      Port:  widelands       |
-----------------------------+--------------------------------

Comment (by gilles.risch@…):

 Replying to [comment:4 ryandesign@…]:
 > It looks like they just did they obvious, and marked those members as
 public instead of private:
 >
 > {{{
 > diff -ru harfbuzz-0.9.5/src/hb-ot-layout-common-private.hh
 harfbuzz-0.9.6/src/hb-ot-layout-common-private.hh
 > --- harfbuzz-0.9.5/src/hb-ot-layout-common-private.hh 2012-09-15
 20:16:08.000000000 -0500
 > +++ harfbuzz-0.9.6/src/hb-ot-layout-common-private.hh 2012-11-12
 13:16:45.000000000 -0600
 > @@ -403,6 +403,8 @@
 >        glyphs->add (glyphArray[i]);
 >    }
 >
 > +  public:
 > +  /* Older compilers need this to be public. */
 >    struct Iter {
 >      inline void init (const struct CoverageFormat1 &c_) { c = &c_; i =
 0; };
 >      inline bool more (void) { return i < c->glyphArray.len; }
 > @@ -414,6 +416,7 @@
 >      const struct CoverageFormat1 *c;
 >      unsigned int i;
 >    };
 > +  private:
 >
 >    protected:
 >    USHORT     coverageFormat; /* Format identifier--format = 1 */
 > @@ -497,6 +500,8 @@
 >        rangeRecord[i].add_coverage (glyphs);
 >    }
 >
 > +  public:
 > +  /* Older compilers need this to be public. */
 >    struct Iter {
 >      inline void init (const CoverageFormat2 &c_) {
 >        c = &c_;
 > @@ -522,6 +527,7 @@
 >      const struct CoverageFormat2 *c;
 >      unsigned int i, j, coverage;
 >    };
 > +  private:
 >
 >    protected:
 >    USHORT     coverageFormat; /* Format identifier--format = 2 */
 > }}}

 I also tried this suggestion and changed "set_fleet(Widelands::Fleet*)"
 from private to public inside ship.h and portdock.h. Wideland compiled
 with gcc 4.0.1 but did not link neither, same error as with apple-gcc42.

-- 
Ticket URL: <https://trac.macports.org/ticket/37237#comment:6>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list