簡単に nmz.dll を作成するための Makefile の修正
2005-11-23


Namazu for Win32 には VC++ で作成した nmz.dll が含まれますが、VC++ でnmz.dll をコンパイルするのはいろいろと面倒です。
そこで、MinGw でも DLL は作成できるので、Win32 環境(MinGw)で nmz.dll を簡単に作れるように Makefile.am を修正しました。

C:\> cd nmz
C:\> make dll
で、 が nmz/ ディレクトリに作成できます。
MinGw で nmz.dll を使うのであればこれだけで利用できます。
また、VC++ から nmz.dll を使うには lib.exe (VC++ または Platform SDK の Core SDK に含まれる)が必要になりますが、

C:\> make implib
で、 が nmz/ ディレクトリに作成されます。 ただし、Win32以外の環境で make dll, make implib を実行するとエラーになります。


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 をパスの通ったところに入れた上で実行ファイルを実行する必要があります。
[開発]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット