中本です。 On Tue, 26 Sep 2006 19:16:55 +0900 YoshiyukiMasutomi <[EMAIL PROTECTED]> wrote:
> curvirgoです。 > > Takashi Nakamoto wrote: > > http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/waooo/furigana/ > > にある、build.batとfurigana.defを使ってコンパイルやリンクを自動的に > > 行うようにしてみました。 (相変わらずmecab使ってます) > とりあえず、__declspec(dllexport)を関数の前につけて回避してました。 > それと、batchファイルを使わなくてもパッケージ作成まで自動的に進みま > す。コマンドプロンプトを起動し、OOo_SDKのインストール先にある > setsdkenv_windows.batを実行します。初回実行時は各ツールのパスを聞かれ > るので環境にあわせたパスをショートネームで入力します。初期設定完了後に > Makefileをwindowsに合わせて編集すれば、makeコマンド一発でパッケージ作 > 成まで行えます。 うまくパッケージの作成はできましたか? __declspec(dllexport)があれば、.defは要らないかもしれません。 ちなみに、OOoでは __declspec(dllexport) の代わりに SAL_DLLPUBLIC_EXPORT マクロを使えば、ソースコードを変更せず、他のプラットフォームでもコンパイ ルできるようになるみたいです。 > 以下は、いま私が編集して使っているものです。 ありがとうございます。私も明日、以下のMakefileを試してみます。 うまくいったらCVSにアップしようと思います。 > ==================================== Makefile Start > ==================================== > # Copyright (C) 2006 Takashi Nakamoto. > # > # This program is free software; you can redistribute it and/or modify > # it under the terms of the GNU General Public License as published by > # the Free Software Foundation; either version 2 of the License, or > # (at your option) any later version. > # > # This program is distributed in the hope that it will be useful, > # but WITHOUT ANY WARRANTY; without even the implied warranty of > # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > # GNU General Public License for more details. > # > # You should have received a copy of the GNU General Public License > # along with this program; if not, write to the Free Software > # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA > # 02110-1301 USA > > # base directories > OO_SDK_DIR=$(OO_SDK_HOME) > OO_DIR=c:\progra~1\OPENOF~1.0 > OO_PROG_DIR=$(OO_DIR)/program > SDKBINDIR=$(OO_SDK_DIR)/windows/bin > > # tools > IDLC=$(SDKBINDIR)/idlc > REGMERGE=$(SDKBINDIR)/regmerge > REGCOMP=$(SDKBINDIR)/regcomp > CPP=cl > LINK=link > ZIP=zip > > all: furigana.uno.pkg > > furigana.urd: furigana.idl > $(IDLC) -C -I$(OO_SDK_DIR)/idl furigana.idl > > furigana.rdb: furigana.urd > $(REGMERGE) $@ /UCR furigana.urd > > furigana_impl.obj: furigana.rdb furigana_impl.cxx > 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 \ > $(OO_PROG_DIR)/types.rdb furigana.rdb > > $(CPP) -Zm500 -Zc:forScope -MD -GR -c -nologo -Gs -Gy -Ob1 > -Oxs -Oy- -Gd -I. -I$(OO_SDK_DIR)\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 > > libfurigana.dll: furigana_impl.obj symbols.txt > $(LINK) /DEF:furigana.def /OPT:NOREF /NODEFAULTLIB /RELEASE /DEBUG:full > /SUBSYSTEM:CONSOLE /DLL > -out:libfurigana.dll $(OO_SDK_DIR)/windows/lib/icppu.lib > $(OO_SDK_DIR)/windows/lib/icppuhelper.lib > $(OO_SDK_DIR)/windows/lib/isal.lib Imm32.lib User32.lib Msvcrt.lib > Kernel32.lib furigana_impl.obj > > furigana.uno.pkg: furigana.rdb libfurigana.dll META-INF/manifest.xml > $(REGCOMP) -register -r furigana.rdb -c libfurigana.dll > $(ZIP) $@ META-INF/manifest.xml furigana.rdb libfurigana.dll > > install: furigana.uno.pkg > $(OO_PROG_DIR)/unopkg add furigana.uno.pkg > > uninstall: > $(OO_PROG_DIR)/unopkg remove furigana.uno.pkg > > clean: > rm -rf com jp *.rdb *.urd *.pkg *.obj *.dll > ===================================== Makefile End > ===================================== -- 中本 崇志 ( 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]
