On Tuesday 29 November 2005 15:50, Kai Solehmainen wrote:
> Tein muutokset tuonne oo2-soikko-configurator.cxx-tiedostoon, joten hyvällä
> tuurilla voisi kääntyä sellaisenaan.

Ihan ei kääntynyt, mutta pienten korjausten jälkeen kyllä, ja toimii juuri 
niin hienosti kuin pitääkin. Laitan valmiiksi käännetyn version ja 
lähdekoodit jossakin muodossa osoitteeseen http://hunspell-fi.org/soikkotmp 
ihan pian.

Lähdekoodiin piti vielä tehdä seuraavat muutokset:

installer/oo2-soikko-configurator/Makefile:

@@ -93,7 +93,7 @@
          $< $(CPPUHELPERLIB) $(CPPULIB) $(SALHELPERLIB) $(SALLIB) 
$(STLPORTLIB)
 else
        $(LINK) $(EXE_LINK_FLAGS) $(LINK_LIBS) -o $@ $< \
-         $(CPPUHELPERLIB) $(CPPULIB) $(SALHELPERLIB) $(SALLIB) $(STLPORTLIB) 
$(STDC++LIB)
+         $(CPPUHELPERLIB) $(CPPULIB) $(SALLIB) $(STLPORTLIB) $(STDC++LIB)
 endif

eli $(SALHELPERLIB) pois Linux-osuudesta.



installer/oo2-soikko-configurator/oo2-soikko-configurator.cxx:

@@ -39,9 +39,6 @@
 #include <com/sun/star/resource/XLocale.hpp>
 #include <com/sun/star/linguistic2/XLinguServiceManager.hpp>

-// Soikko includes
-#include <hyphenimp.hxx>
-#include <sspellimp.hxx>

 using namespace com::sun::star::uno;
 using namespace com::sun::star::lang;
@@ -115,8 +112,8 @@
             OUString hyphenatorService = OUString::createFromAscii(
                 "com.sun.star.linguistic2.Hyphenator");

-            OUString hyphenatorServiceImp =
-                soikko::Hyphenator::getImplementationName_Static();
+            OUString hyphenatorServiceImp = OUString::createFromAscii(
+                "soikko.Hyphenator");

             if (!setLinguServiceImp(rLinguServiceManager, hyphenatorService,
                 locale, hyphenatorServiceImp))
@@ -127,8 +124,8 @@
             // Set the spell checker
             OUString spellCheckerService = OUString::createFromAscii(
                 "com.sun.star.linguistic2.SpellChecker");
-            OUString spellCheckerServiceImp =
-                soikko::SpellChecker::getImplementationName_Static();
+            OUString spellCheckerServiceImp = OUString::createFromAscii(
+                "soikko.SpellChecker");

             if (!setLinguServiceImp(rLinguServiceManager, 
spellCheckerService,
                 locale, spellCheckerServiceImp))
@@ -329,7 +326,7 @@
 #ifdef WIN32
         Sleep(aWait * 1000);
 #else
-        Sleep(aWait);
+        sleep(aWait);
 #endif // WIN32
     }

Alimmainen korjaus on siis vaan sitä, että Linuxissa tuo funktion nimi tulee 
pienellä alkukirjaimella. Nuo muut johtuvat taas siitä, että gcc:llä oli 
vaikeuksia sulattaa erästä hyphenimp.hxx:n kautta tulevaa templatea. Se 
taitaa vain olla tarkempi (tai siinä on bugi) kuin Microsoftin kääntäjät 
siitä, missä järjestyksessä SDK:n hpp-tiedostot pitää käsitellä. Huomasin 
kuitenkin, ettei tiedostoja hyphenimp.hxx ja sspellimp.hxx tarvittu mihinkään 
muuhun kuin Soikon palvelunimien saamiseen, joten katsoin vaivattomammaksi 
vain kirjoittaa ne suoraan noihin kahteen paikkaan missä niitä tarvitaan, 
melko varmaa on ettei niitä koskaan tarvitse muuttaa. Ja tästä on sekin etu, 
että oo2-soikko-configurator on nyt käytännössä itsenäinen ohjelma, eli 
helpompi ymmärtää sellaiselle, joka haluaa muokata sitä johonkin aivan 
toiseen käyttöön.
Semmoinen asia minua vielä mietityttää (kun en asiaa ollenkaan tunne) että 
mitä eroa on "#ifdef WIN32":lla ja "#ifdef WNT":llä? Kun Oo2-soikossa ja 
OpenOfficessa muuallakin yleensä käytetään tuota jälkimmäistä. Onko WIN32 
määritelty ainoastaan 32-bittisissä Windowseissa, eli tuleeko sen kanssa 
ongelmia sitten 64-bittisenä aikana? Taitaa tosin olla aika teoreettinen 
kysymys, varsinkin kun Soikkoa tuskin koskaan saadaan 64-bittisenä toimimaan.

Harri

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

Reply via email to