For the record, here is my status of using the SDK of a recent (post <http://cgit.freedesktop.org/libreoffice/core/commit/?id=5051209534c8a2034dcb0016d4a8fe29dcb2947b> "Adapt SDK to usage of msvcrtd for Windows --enable-dbgutil") master build (--enable-dbgutil even) on Windows:

I use the SDK on the Windows 7 machine I also do the LO build on (at C:\lo\core), so that machine already had Visual Studio and a JDK installed.

As a prerequisite, install <http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/mingw-get-inst-20120426/mingw-get-inst-20120426.exe/download> and, in Command Prompt do:

> cd C:\MinGW
> mingw-get update
> mingw-get install msys-zip

For testing ure/source/uretest/Makefile, additionally do:

> mingw-get install msys-coreutils
> mingw-get install msys-sed

Then, in Command Prompt do:

> cd C:\lo\core\solver\wntmsci12\installation\opt\sdk
> setsdkenv_windows.bat

and do the first-time configuration as necessary.  The results for me are:

 ******************************************************************
 *
 * SDK environment is prepared for Windows
 *
 * SDK = C:\lo\core\solver\wntmsci12\installation\opt\sdk
 * Office = C:\lo\core\solver\wntmsci12\installation\opt
 * URE = C:\lo\core\solver\wntmsci12\installation\opt\URE
 * Make = C:\MinGW\bin
 * Zip = C:\MinGW\msys\1.0\bin
 * C++ Compiler = C:\Program Files\Microsoft Visual Studio 9.0\VC\bin
 * C# and VB.NET compilers = C:\Windows\Microsoft.NET\Framework\v2.0.50727
 * Java = C:\Program Files\Java\jdk1.7.0_11
 * Special Output directory = c:\libreoffice4.1.0.0.alpha0+_sdk
 * Auto deployment = YES
 *
 ******************************************************************

Then, to see things are working at least minimally, continue with

> cd examples\cpp\counter
> mingw32-make
> mingw32-make countermain.run

At least with my current build, the ure/source/uretest/Makefile test:

> cd C:\lo\core\ure\source\uretest
> mingw32-make

still fails the test-javanative with:

set URE_MORE_TYPES=file:///C:/lo/core/ure/source/uretest/out.sdk/types.rdb && set 
URE_MORE_SERVICES=file:///C:/lo/core/ure/source/uretest/out.sdk/services.rdb &&  "C:\Program 
Files\Java\jdk1.7.0_11/bin/java"  -jar out.sdk/runner.jar \
            file:///C:/lo/core/solver/wntmsci12/installation/opt/URE/java/ 
file:///C:/lo/core/ure/source/uretest/out.sdk/javanative.jar
warn:cppuhelper:2968:3492:cppuhelper/source/shlib.cxx:501: loading component 
library failed: file:///C:/lo/core/ure/source/uretest/out.sdk/cpptest.uno.dll
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
com.sun.star.lib.unoloader.UnoClassLoader.execute(UnoClassLoader.java:160)
        at com.sun.star.lib.unoloader.UnoLoader.execute(UnoLoader.java:81)
        at test.java.runner.Runner.main(Runner.java:28)
Caused by: com.sun.star.uno.DeploymentException: component context fails to 
supply service test.types.CppTest of type test.types.XTest: 
com.sun.star.loader.CannotActivateFactoryException: loading component library 
failed: file:///C:/lo/core/ure/source/uretest/out.sdk/cpptest.uno.dll
java stack trace:
        at com.sun.star.bridges.jni_uno.JNI_proxy.dispatch_call(Native Method)
        at com.sun.star.bridges.jni_uno.JNI_proxy.invoke(JNI_proxy.java:183)
        at $Proxy2.createInstanceWithContext(Unknown Source)
        at test.types.CppTest.create(Unknown Source)
        at test.java.tester.Tester.test(Tester.java:29)
        at test.java.javanative.JavaNative.main(JavaNative.java:26)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at 
com.sun.star.lib.unoloader.UnoClassLoader.execute(UnoClassLoader.java:160)
        at com.sun.star.lib.unoloader.UnoLoader.execute(UnoLoader.java:81)
        at test.java.runner.Runner.main(Runner.java:28)

        at test.types.CppTest.create(Unknown Source)
        at test.java.tester.Tester.test(Tester.java:29)
        at test.java.javanative.JavaNative.main(JavaNative.java:26)
        ... 7 more
Makefile:82: recipe for target 'test-javanative' failed
mingw32-make: *** [test-javanative] Error 1

but test-cpptest, test-javateset, and
the (manual) test-clientserver all work.  No idea yet what is broken there.

If anybody has insight into my two questions at <http://cgit.freedesktop.org/libreoffice/core/commit/?id=5051209534c8a2034dcb0016d4a8fe29dcb2947b> "Adapt SDK to usage of msvcrtd for Windows --enable-dbgutil," that would be appreciated:

* The old settings.mk was apparently confused with using /MT ("link with
  LIBCMT.LIB") on cl command line and /MD ("link with MSVCRT.LIB") on link
  command line (where it was ignored), and you apparently can't pass both
  together to cl, so I settled on /MD (resp. /MDd) now and dropped /MT (resp.
  /MTd).  No idea if that is exactly right, however.

* Introduced client-facing LIBO_SDK_LDFLAGS_STDLIBS that covers kernel32.lib and
  msvcrt.lib vs. msvcrtd.lib on Windows.  Adapted examples Makefiles and
  /ure/source/uretest/Makefile accordingly.  Some examples Makefiles
  additionally use msvcprt.lib, no idea whether that still needs to be
  addressed.

Stephan
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to