更新:2010-10-01 13:42:53 (Fri)
お品書き
コンパイル & リンク
$ gcc -o foo.o -c foo.c
$ gcc -o foo.exe foo.o
DLLの作成
順番に
$ dlltool --export-all --output-def foo.def foo.o
$ dllwrap --driver-name gcc --def foo.def -o foo.dll foo.o
$ dlltool --dllname foo.dll --def foo.def --output-lib libfoo.a
まとめて
$ dllwrap --export-all --output-def foo.def --implib libfoo.a --driver-name gcc -o foo.dll foo.o
mingw32なDLL(cygwin)
'dllwrap'に'--target i386-mingw32'
リンク時に'--driver-name=gcc -mno-cygwin'
使い方
$ gcc -o bar.exe bar.c -L. -lfoo
依存してるDLLの調査
$ objdump -p example.exe | grep "DLL Name"
オプションいろいろ
Windowsアプリでコンソールを表示する
-Wl,--subsystem,console
Windowsアプリのコンパイル
-mwindows
cygwin環境に依存しないバイナリをビルドする
-mno-cygwin
最終更新:2010年10月01日 13:42