#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