簡単に nmz.dll を作成するための Makefile の修正 ― 2005年11月23日 02時04分00秒
Namazu for Win32 には VC++ で作成した nmz.dll が含まれますが、VC++ でnmz.dll をコンパイルするのはいろいろと面倒です。
そこで、MinGw でも DLL は作成できるので、Win32 環境(MinGw)で nmz.dll を簡単に作れるように Makefile.am を修正しました。
MinGw で nmz.dll を使うのであればこれだけで利用できます。
また、VC++ から nmz.dll を使うには lib.exe (VC++ または Platform SDK の Core SDK に含まれる)が必要になりますが、
1) MinGw で nmz.dll を使うには
2) VC++ で nmz.dll を使うには
そこで、MinGw でも DLL は作成できるので、Win32 環境(MinGw)で nmz.dll を簡単に作れるように Makefile.am を修正しました。
C:\> cd nmz
C:\> make dll
で、
- nmz.dll ... gcc で作成した DLL
- nmz.def ... DEF ファイル
- libnmz.a .. MinGw 用 DLL インポートライブラリ
MinGw で nmz.dll を使うのであればこれだけで利用できます。
また、VC++ から nmz.dll を使うには lib.exe (VC++ または Platform SDK の Core SDK に含まれる)が必要になりますが、
C:\> make implib
で、
- nmz.lib ... VC++ 用 DLL インポートライブラリ
1) MinGw で nmz.dll を使うには
/* main.c */
#include
#include "libnamazu.h"
main()
{
fprintf(stdout, "%s\n", nmz_get_version());
}
という main.c ファイルの場合、次でコンパイルできます。
C:\> gcc main.c -o main.exe -Lライブラリディレクトリ -lnmz
libnmz.a ファイルをライブラリディレクトリに入れてコンパイルし、nmz.dll をパスの通ったところに入れた上で実行ファイルを実行する必要があります。2) VC++ で nmz.dll を使うには
C:\> cl main.c /link /out:main.exe パス/nmz.lib
nmz.lib のパスを指定してコンパイルし、nmz.dll をパスの通ったところに入れた上で実行ファイルを実行する必要があります。
コメント
トラックバック
このエントリのトラックバックURL: http://namazu.asablo.jp/blog/2005/11/23/151861/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。