中本です。

私も昨日一日中、MSDNなどの資料を漁りながらWindowsでのコンパイルに苦しん
でいました。
# その後飲んでました :p

その成果として、
http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/waooo/furigana/
にある、build.batとfurigana.defを使ってコンパイルやリンクを自動的に行う
ようにしてみました。 (相変わらずmecab使ってます)

しかし、私も同様にregcompで CannotRegisterImplementationException などと
いって失敗しました。ただし、curvirgoさんみたいに 

libfurigana.dll: cannot get symbol:
component_getImplementationEnvironment

というような具体的なエラーメッセージは表示されませんでした。開発環境は
Windows XP Pro & Microsoft Visual C++ Toolkit 2003です。

curvirgoさんのエラーメッセージを見る限りでは、component_*関数が正しくエ
クスポートができていないようなので、linkのオプションに
 /DEF:furigana.def
をつけてみるとうまくいくような気がします。。 (furigana.defは上のURLから
ダウンロードしてください。)

私はまた明日にならないとWindows上での作業ができないのですが、自分の環境
でもコンパイルが通るようにがんばってみます。

On Mon, 25 Sep 2006 23:24:27 +0900
Yoshiyuki Masutomi <[EMAIL PROTECTED]> wrote:

> curvirgoです。
> 
> Yoshiyuki Masutomi wrote:
> > OOoビルド時のオプションを参考にしてコンパイルしてみた所、コンパイル
> > のみは進みました。
> コンパイル & リンクまでは進みましたが、regcompで止まりました。
> あともうちょいで動作確認が、なのですが。
> 
> cppumaker -BUCR -Tjp.sourceforge.waooo.addin.XFurigana \
> -Tcom.sun.star.sheet.XAddIn \
> -Tcom.sun.star.lang.XServiceName \
> -Tcom.sun.star.lang.XServiceInfo \
> -Tcom.sun.star.lang.XTypeProvider \
> -Tcom.sun.star.uno.XWeak \
> -Tcom.sun.star.uno.XAggregation \
> -Tcom.sun.star.lang.XMultiServiceFactory \
> -Tcom.sun.star.uno.XComponentContext \
> -Tcom.sun.star.lang.XSingleComponentFactory \
> -Tcom.sun.star.lang.XSingleServiceFactory \
> -Tcom.sun.star.registry.XRegistryKey \
> -Tcom.sun.star.lang.XInitialization \
> -Tcom.sun.star.lang.IllegalArgumentException \
> c:\progra~1\OPENOF~1.0/program/types.rdb furigana.rdb
> cl -Zm500 -Zc:forScope -MD -GR -c -nologo -Gs -Gy -Ob1 -Oxs -Oy- -Gd
> -I. -Ic:\progra~1\OpenOffice.org_2.0_SDK\include
> -I/cygdrive/c/progra~1/java/JDK15~1.0_0/include/win32
> -I/cygdrive/c/progra~1/java/JDK15~1.0_0/include
> -I/cygdrive/c/PROGRA~1/MICROS~4/include
> -I/cygdrive/c/PROGRA~1/MICROS~1.NET/Vc7/include
> -I/cygdrive/c/PROGRA~1/DIRECT~1/include -Zi -Wall -wd4061 -wd4100
> -wd4127 -wd4191 -wd4217 -wd4251 -wd4275 -wd4290 -wd4294 -wd4355
> -wd4511 -wd4512 -wd4514 -wd4611 -wd4625 -wd4626 -wd4640 -wd4668
> -wd4675 -wd4710 -wd4711 -wd4716 -wd4786 -wd4800 -wd4820 -wd4503
> -wd4255 -DWNT -DWNT -DNT351 -DMSC -DM1310 -DINTEL -D_X86_=1
> -DFULL_DESK -DSTLPORT_VERSION=400 -DWINVER=0x400 -D_WIN32_IE=0x400
> -D_MT -DCPPU_ENV=msci -DSUPD=680 -DPRODUCT -DNDEBUG -DPRODUCT_FULL
> -DOSL_DEBUG_LEVEL=0 -DOPTIMIZE -DEXCEPTIONS_OFF -DCUI -DSOLAR_JAVA
> -DOOD680=OOD680 -DSHAREDLIB -D_DLL_ -DWIN32 -D_MT -D_DLL -DWIN32
> -D_MT -D_DLL -Fofurigana_impl.obj furigana_impl.cxx furigana_impl.cxx
> 
> link /OPT:NOREF /NODEFAULTLIB /RELEASE /DEBUG:full /SUBSYSTEM:CONSOLE /DLL
> -out:libfurigana.dll c:\progra~1
> \OpenOffice.org_2.0_SDK/windows/lib/icppu.lib c:\progra~1
> \OpenOffice.org_2.0_SDK/windows/lib/icppuhelper.lib c:\progra~1
> \OpenOffice.org_2.0_SDK/windows/lib/isal.lib Imm32.lib User32.lib
> Msvcrt.lib Kernel32.lib furigana_impl.obj Microsoft (R) Incremental
> Linker Version 7.10.3077
> 
> Copyright (C) Microsoft Corporation.  All rights reserved.
> 
> 
> 
> c:\progra~1\OpenOffice.org_2.0_SDK/windows/bin/regcomp -register -r
> furigana.rdb -c libfurigana.dll register component 'libfurigana.dll'
> in registry 'furigana.rdb' failed!
> 
> error (CannotRegisterImplementationException): libfurigana.dll:
> cannot get symbol: component_getImplementationEnvironment
> 
> make: *** [furigana.uno.pkg] Error 1

-- 
 中本 崇志 ( Takashi Nakamoto )
 E-Mail  : [EMAIL PROTECTED], [EMAIL PROTECTED]
 Homepage: http://bd.tank.jp/
 blog    : http://bd.tank.jp/diary

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

メールによる返信