Chasen.dllをBCB5で使う方法を教えてください(DLLの使い方)
形態素解析ツールのChasen Win32版に付属しているchasen.dllを自作のプログラムから呼び出したいと思っています。
・茶筅
http://chasen.aist-nara.ac.jp/index.html.ja
ですが、DLLを使ったことがないのでよくわからずもう何日も困っています。
ヘッダで、まずDLL付属のヘッダー(下記参考資料)をインクルードして、
#include "chadll.h"
自作プログラムのソースで、
HINSTANCE chasenDLL = LoadLibrary("chasen.dll");
でライブラリをロードして、
char *myanalyze = (char *)GetProcAddress(chasenDLL,"analyze");
で関数analyzeを取り出していますが、
analyze()を実際に使うとシンボルの未解決エラーでコンパイルできません。
このDLLはBCBでは使えないのでしょうか。
---------------------参考資料:DLL付属のサンプルソース
/*
* dlltest.c - ChaSen dll test program
*
* Copyright (C) 2000 Nara Institute of Science and Technology
*
* Author: H.Matsuda <horosi-m@is.aist-nara.ac.jp>, Sep. 2000
*/
#include <stdio.h>
#include "chadll.h"
int main( int argc, char** argv )
{
char input[10000] = "これは形態素解析のテストです。";
set_argument_parameters( argc, argv );
printf( "%s", analyze( input ) );
}
---------------------参考資料:DLL付属のヘッダーファイル
/*
* chasendll.h - ChaSen dll header
*
* Copyright (C) 2000 Nara Institute of Science and Technology
*
* Author: H.Matsuda <horosi-m@is.aist-nara.ac.jp>, Sep. 2000
*/
__declspec( dllexport ) int set_argument_parameters( int argc, char** argv );
__declspec( dllexport ) char* analyze( char* input );
お礼
回答ありがとうございます。 >というか、Perl用のChaSenモジュールはPerlとChaSen本体の仲介役であってChaSenそのものではありません。 そうだったのですね。知りませんでした。 残念ながらあきらめるしかなさそうですね。