curvirgoです。

Yoshiyuki Masutomi wrote:
> gcc4のせいでは無いというような事を言ってしまいましたが、念のためgcc3.4.5
> で確認した所、
> 通りました。
> 本当に申し訳ないです。
> 
> でもなぜこの部分だけそうなってしまうのか...
> libxml2以外は普通にビルド出来るのに...
続きです。
http://www.openoffice.org/issues/show_bug.cgi?id=57950
を参考に、paperinf.hxxを以下のように、
class SvxPaper
を、
class SVX_DLLPUBLIC SvxPaper
と、することでビルドが通るようになりました。
(以前の変更は必要ありません。)
これで、sc,sd,swのビルドも通りました。
ただし、動作確認はまだですし、修正箇所はこれだけで良いのかも確認できてい
ませんが。

# 「visibility」って、つまりはgcc4では明示的にしなければならないって事?

--- SRC680_m150/svx/inc/paperinf.hxx.orig       2006-01-15 20:45:41.000000000
+0900
+++ SRC680_m150/svx/inc/paperinf.hxx    2006-01-16 22:51:09.000000000 +0900
@@ -51,29 +51,80 @@
 #include "svx/svxdllapi.h"
 #endif

+#include <map>
+#include <list>
+
 // forward ---------------------------------------------------------------

 class Printer;
 class Size;
 class String;

-// class SvxPaperInfo -----------------------------------------------------
+// class SvxPaper ----------------------------------------------------
+
+enum SvxPaperType
+{
+       SVX_PAPER_TYPE_STANDARD,
+       SVX_PAPER_TYPE_PRESENTATION
+};
+
+#define SVX_PAPER_OPTIONAL ((SvxPaper*)NULL)
+
+using namespace ::rtl;
+
+class SVX_DLLPUBLIC SvxPaper
+{
+private:
+       OUString msName;
+       Size maSize;
+       SvxPaperType meType;
+
+       SvxPaper(const OUString &rName,
+                         const Size& rSize,
+                         const SvxPaperType& rType = SVX_PAPER_TYPE_STANDARD);
+public:
+       ~SvxPaper();
+       OUString GetName() const;
+       Size GetSize() const ;
+       SvxPaperType GetType() const;
+
+       BOOL Equal(const Size& rSize, MapUnit eUnit, BOOL bSloppy);
+
+       friend class SvxPaperInfo;
+};
+
+// class SvxPaperInfo ----------------------------------------------------
+
+typedef std::map< OUString, SvxPaper* >     PaperMap;
+typedef std::list<SvxPaper*> PaperList;

 class SVX_DLLPUBLIC SvxPaperInfo
 {
+private:
+       static SvxPaperInfo* instance;
+
+protected:
+       PaperMap maPapers;
+       PaperList maStandardPaperList;
+       PaperList maDrawPaperList;
+       PaperList maEnvelopePaperList;
+       SvxPaper* maDefaultPaper;
+
 public:
-       static Size                     GetPaperSize( const Printer* );
-       static Size                     GetPaperSize( SvxPaper ePaper,
-                                                                         
MapUnit eUnit = MAP_TWIP );
-       // entfaellt demnaechst
-       static SvxPaper         GetPaper( const Size&, MapUnit eUnit = MAP_TWIP,
-                                                                 BOOL bSloppy 
= FALSE );
-       // dann nur noch diese beiden
-       static SvxPaper         GetSvxPaper( const Size&, MapUnit eUnit = 
MAP_TWIP,
-                                                                        BOOL 
bSloppy = FALSE );
-       static Paper            GetSvPaper( const Size&, MapUnit eUnit = 
MAP_TWIP,
-                                                                       BOOL 
bSloppy = FALSE );
-       static String           GetName( SvxPaper ePaper );
+       // singleton pattern
+       static SvxPaperInfo& Instance ();
+       SvxPaperInfo (const SvxPaperInfo& aHandler);
+       SvxPaperInfo& operator= (const SvxPaperInfo& aHandler);
+
+       /** This destructor is never called at the moment.  But because this
+               class is a singleton this is not a problem.
+       */
+       virtual ~SvxPaperInfo ();
+       
+       SvxPaperInfo ();
+       
+       SvxPaper* GetDefaultPaper();
+       void GetIterator( SvxPaperCategory eCategory, PaperList::iterator&
start, PaperList::iterator& end );
 };

 // INLINE -----------------------------------------------------------------


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

メールによる返信