Dear Jan and Stephan,
Joachim Langenbach píše v Po 06. 05. 2013 v 14:50 +0200:
I'm also trying to build the LibreOffice SDK with MinGW. Goal is to
connect an application compiled with MinGW to LibreOffice on Windows,
Linux and may be other platforms. Since my attampts to cross compile
LibreOffice are not very successfully, I have two questions, before
investing more time in that.
What exact failures did you have, please?
I've tried building 3.6.6.2 and 4.0.3.3. Both versions are configured with the
attached autogen.lastrun on an OpenSUSE system with installed mingw32 packages
from OpenSUSE build service. Within the 4.0.3.3 version I have fixed already
some errors (e. g. lcms.h). The 3.6.6.2 are in original state. The errors I
have currently are listed in the attached log files.
So far the MinGW build is still a very experimental thing; I mostly use
that when I develop something Windows-only because I can still keep my
workflow, but as the binaries built with the MinGW SDK will be
incompatible with the LibreOffice release builds, I am not sure it makes
much sense to invest effort in that at this stage.
Does it mean, that an application linked against the MinGW SDK, could not
connect to a MSVC standard libreoffice installation?
I am afraid this is the case so far :-(
Thanks for this clarification!
And second, what are the alternatives of using the SDK to connect to
LibreOffce (if an compiler switch to MSVC is not wanted)?
Basically the advice would be to use Java or Python I'm afraid. But I
suppose you want to connect a C or C++ application to LibreOffice, is
that correct? In that case getting the MinGW SDK working would be best.
But if your MinGW approach fails, you might experiment with actually
using the Python bridge from your C++ code using Boost.Python - that
will perform worse than direct C++, but will be able to connect even to
the LibreOffice built using MSVC.
Or (and that might be easier) create a small Python wrapper that calls
the functions / services you need from SDK, and provides your
application with a simple API, and you'd call functions of this wrapper
from your C++ code using Boost.Python.
Ok, thanks for your hints. Since I'm developing with Qt, an python extension
of the Qt-c++ application seems to be also a good option for me than. This
should be platform independent also.
Ole connection may be used, but
ole is not platform independent (or is it available under linux or
MacOS?).
Are there any other possiblities or have the SDK or OLE connection some
other advantages and disadvantages?
I'd say here it depends on what exactly do you need to achieve...
From Stephan:
Depends on what you mean with "connect." Two independent processes
communicating via the URP protocol should be fine. Trying to load any
libraries from the MSVC-based LO installation into your MinGW-based
process would obviously fail.
You are right, the term connect is not really clear here. My goal is to read
and write office files from my application. Therefore I designed an interface.
Than I can implement the interface within plugins, which utilize different
tools to read and write the files. For example one plugin handles CSV files,
another uses MS Office per OLE and another should use LibreOffice. So connect is
meant as any possible interaction between libreoffice and my plugin to read and
write office files (precisly spreadsheets).
Kind regards,
Joachim Langenbach
/usr/local/src/libreoffice/libreoffice-4.0.3.3/solenv/gbuild/Package.mk:44: *** gb_Deliver_deliver:
file does not exist in solver, and cannot be delivered:
/usr/local/src/libreoffice/libreoffice-4.0.3.3/solver/unxlngi6.pro/lib/libvcllo.so. Schluss.
log for /usr/local/src/libreoffice/libreoffice-core-3.6.6.2/glib
patching file glib-2.28.1/build/win32/dirent/makefile.msc
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file glib-2.28.1/build/win32/dirent/makefile.msc.rej
patching file glib-2.28.1/build/win32/make.msc
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
5 out of 5 hunks ignored -- saving rejects to file glib-2.28.1/build/win32/make.msc.rej
patching file glib-2.28.1/gio/gzlibcompressor.c
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
3 out of 3 hunks ignored -- saving rejects to file glib-2.28.1/gio/gzlibcompressor.c.rej
patching file glib-2.28.1/gio/gzlibdecompressor.c
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
3 out of 3 hunks ignored -- saving rejects to file glib-2.28.1/gio/gzlibdecompressor.c.rej
patching file glib-2.28.1/gio/makefile.msc
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
9 out of 9 hunks ignored -- saving rejects to file glib-2.28.1/gio/makefile.msc.rej
patching file glib-2.28.1/glib/gatomic.c
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file glib-2.28.1/glib/gatomic.c.rej
patching file glib-2.28.1/glib/gnulib/makefile.msc
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file glib-2.28.1/glib/gnulib/makefile.msc.rej
patching file glib-2.28.1/glib/makefile.msc
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
6 out of 6 hunks ignored -- saving rejects to file glib-2.28.1/glib/makefile.msc.rej
patching file glib-2.28.1/glib/pcre/makefile.msc
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file glib-2.28.1/glib/pcre/makefile.msc.rej
patching file glib-2.28.1/gmodule/makefile.msc
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file glib-2.28.1/gmodule/makefile.msc.rej
patching file glib-2.28.1/gobject/makefile.msc
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file glib-2.28.1/gobject/makefile.msc.rej
patching file glib-2.28.1/gthread/makefile.msc
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file glib-2.28.1/gthread/makefile.msc.rej
patching file glib-2.28.1/makefile.msc
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file glib-2.28.1/makefile.msc.rej
patching file glib-2.28.1/tests/makefile.msc
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file glib-2.28.1/tests/makefile.msc.rej
patching file glib-2.28.1/glib/glibconfig.h
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file glib-2.28.1/glib/glibconfig.h.rej
patching file glib-2.28.1/gmodule/gmoduleconf.h
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file glib-2.28.1/gmodule/gmoduleconf.h.rej
patching file glib-2.28.1/config.h
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file glib-2.28.1/config.h.rej
patching file glib-2.28.1/gio/gvdb/makefile.msc
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file glib-2.28.1/gio/gvdb/makefile.msc.rej
patching file glib-2.28.1/gio/win32/makefile.msc
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file glib-2.28.1/gio/win32/makefile.msc.rej
patching file glib-2.28.1/gobject/gmarshal.c
Hunk #1 FAILED at 1 (different line endings).
1 out of 1 hunk FAILED -- saving rejects to file glib-2.28.1/gobject/gmarshal.c.rej
patching file glib-2.28.1/build/win32/make.msc
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file glib-2.28.1/build/win32/make.msc.rej
patching file glib-2.28.1/gobject/glib-mkenums
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file glib-2.28.1/gobject/glib-mkenums.rej
dmake: Error code 1, while making './wntgcci.pro/misc/build/so_patched_so_glib'
CC=ccache i686-w64-mingw32-gcc
CXX=ccache i686-w64-mingw32-g++ -std=c++0x
CC_FOR_BUILD=ccache gcc
CXX_FOR_BUILD=ccache g++
--with-distro=LibreOfficeMinGW
--with-build-platform-configure-options=--disable-gnome-vfs --disable-gstreamer --disable-cups
--disable-python
--disable-graphite
--disable-neon
--disable-ext-nlpsolver
--enable-odk
--without-helppack-integration
--without-help
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.