Hi,
it is still a long way to go until tntnet and zimreader run on windows. It
won't work soon. Sorry.
Tommi
On Montag, 3. August 2009 08:25:59 Emmanuel Engelhart wrote:
> Hi,
>
> So now the C++ code of the zimlib is compatible with cl.exe (MS compiler).
>
> But, that does not mean that the zimreader compiles also... as far as I
> know zimreader depends on tntnet and cxxtools which were never compiled
> under Windows.
>
> I'm trying now to port Kiwix... this is currently my top priority.
>
> Emmanuel
>
> Manuel Schneider wrote:
> > Hi Emmanuel!
> >
> > These are great news! I wonder when we will be able to build native
> > Windows application from trunk.
> >
> > Could you also try to compile zimreader.exe? It would be great to have it
> > until Wikimania - we should have something like a DVD with spanish
> > Wikipedia. As far as I remember you have a dump including images?
> >
> > Greets,
> >
> >
> > Manuel
> >
> > Am Mittwoch, 29. Juli 2009 20:54:41 schrieb Emmanuel Engelhart:
> >> Hi,
> >>
> >> I have achieved to compile a first version of a zimlib.lib (static
> >> library under Windows). I do not really know if I can use it... but at
> >> least it compiles.
> >>
> >> I want to give you here the modifications I have done to achieve that.
> >> Tommi, it would be great to include them (or others with the same
> >> purpose) into the SVN.
> >>
> >> Index: include/zim/zim.h
> >> ===================================================================
> >> --- include/zim/zim.h (revision 236)
> >> +++ include/zim/zim.h (working copy)
> >> @@ -22,6 +22,12 @@
> >>
> >> #include <stdint.h>
> >>
> >> +#ifdef _WIN32
> >> +typedef unsigned __int64 uint64_t;
> >> +typedef signed __int8 int8_t;
> >> +typedef signed __int32 int32_t;
> >> +#endif
> >> +
> >> namespace zim
> >> {
> >> typedef uint32_t size_type;
> >> Index: src/search.cpp
> >> ===================================================================
> >> --- src/search.cpp (revision 236)
> >> +++ src/search.cpp (working copy)
> >> @@ -106,7 +106,7 @@
> >> // weight position of words in the document
> >> if (Search::getWeightPos())
> >> for (itp = posList.begin(); itp != posList.end(); ++itp)
> >> - priority += Search::getWeightPos() / pow(1.01, itp->first);
> >> + priority += Search::getWeightPos() / pow((double)1.01,
> >> (double)itp->first); // here is a ambiguity between to pow() functions
> >> (pow(double, int) or pow(double, double))
> >>
> >> if (Search::getWeightPosRel())
> >> for (itp = posList.begin(); itp != posList.end(); ++itp)
> >> Index: src/bunzip2stream.cpp
> >> ===================================================================
> >> --- src/bunzip2stream.cpp (revision 236)
> >> +++ src/bunzip2stream.cpp (working copy)
> >> @@ -113,7 +113,8 @@
> >> // there is data already available
> >> // read compressed data from source into ibuffer
> >> log_debug("in_avail=" << sinksource->in_avail());
> >> - stream.avail_in = sinksource->sgetn(ibuffer(),
> >> std::min(sinksource->in_avail(), ibuffer_size()));
> >> +
> >> + stream.avail_in = sinksource->sgetn(ibuffer(),
> >> min(sinksource->in_avail(), ibuffer_size())); // compile genereates an
> >> error if you have the "std::", do not know exactly why.
> >> }
> >> else
> >> {
> >> Index: src/uuid.cpp
> >> ===================================================================
> >> --- src/uuid.cpp (revision 236)
> >> +++ src/uuid.cpp (working copy)
> >> @@ -20,12 +20,31 @@
> >> #include <zim/uuid.h>
> >> #include <iostream>
> >> #include <time.h>
> >> -#include <sys/time.h>
> >> +#include <zim/zim.h> // necessary to have the new types
> >> #include "log.h"
> >> #ifdef WITH_CXXTOOLS
> >> #include <cxxtools/md5stream.h>
> >> #endif
> >>
> >> +#if defined(_MSC_VER) || defined(__MINGW32__)
> >> +# include <time.h>
> >> +# include <Windows.h>
> >> +#else
> >> +# include <sys/time.h>
> >> +#endif
> >> +
> >> +#if defined(_MSC_VER) || defined(__MINGW32__)
> >> +int gettimeofday(struct timeval* tp, void* tzp) {
> >> + DWORD t;
> >> + t = timeGetTime();
> >> + tp->tv_sec = t / 1000;
> >> + tp->tv_usec = t % 1000;
> >> + /* 0 indicates that the call succeeded. */
> >> + return 0;
> >> +}
> >> +#endif // time related function/headers are differents und win32
> >> +
> >> +
> >> log_define("zim.uuid")
> >>
> >> namespace zim
> >> @@ -62,7 +81,12 @@
> >> *reinterpret_cast<int32_t*>(ret.data) =
> >> reinterpret_cast<int32_t>(&ret);
> >> *reinterpret_cast<int32_t*>(ret.data + 4) =
> >> static_cast<int32_t>(tv.tv_sec);
> >> *reinterpret_cast<int32_t*>(ret.data + 8) =
> >> static_cast<int32_t>(tv.tv_usec);
> >> +
> >> + #if defined(_MSC_VER)
> >> + *reinterpret_cast<int32_t*>(ret.data + 12) =
> >> static_cast<int32_t>(GetCurrentProcessId());
> >> + #else
> >> *reinterpret_cast<int32_t*>(ret.data + 12) =
> >> static_cast<int32_t>(getpid()); // getpid() is GetCurrentProcessId()
> >> under win32
> >> + #endif
> >>
> >> #endif
> >>
> >> Index: src/qunicode.cpp
> >> ===================================================================
> >> --- src/qunicode.cpp (revision 236)
> >> +++ src/qunicode.cpp (working copy)
> >> @@ -18,6 +18,7 @@
> >> */
> >>
> >> #include <zim/qunicode.h>
> >> +#include <zim/zim.h> // for the types compatibilty
> >> #include "log.h"
> >> #include <iostream>
> >> #include <sstream>
> >> _______________________________________________
> >> dev-l mailing list
> >> [email protected]
> >> https://intern.openzim.org/mailman/listinfo/dev-l
>
> _______________________________________________
> dev-l mailing list
> [email protected]
> https://intern.openzim.org/mailman/listinfo/dev-l
_______________________________________________
dev-l mailing list
[email protected]
https://intern.openzim.org/mailman/listinfo/dev-l