Windows 開発環境構築(1)

hdn:開発環境構築を参考にして、っていうか真似して開発環境の構築。

  • reimp : MSのツールで作ったライブラリを mingw32、cygwin から使えるようにするためのツールらしい。iconv.def を作るのに使う。mingw-utils に含まれている。
  • libiconv を Windows の DLLとしてコンパイルしたものを http://www.kaoriya.net/dist/iconv-1.10-20060516-dll.tar.bz2
    からダウンロード。解凍。
  • iconv-1.10-20060516-dll の iconv.h を、C:\ghc\ghc-6.10.2\include にコピー。
  • iconv-1.10-20060516-dll の iconv.dll を、C:\ghc\ghc-6.10.2\bin にコピー。
  • reimp コマンドで iconv.def を 作成。defファイルって何?


    > reimp -d -c iconv.lib
    > cat iconv.def
    LIBRARY "iconv.dll"
    EXPORTS
    iconv_canonicalize
    libiconv
    libiconv_close
    libiconv_open
    libiconv_set_relocation_prefix
    libiconvctl
    libiconvlist
    locale_charset
  • dlltool コマンドで libiconv.dll.a を作成。


    > C:\ghc\ghc-6.10.2\gcc-lib\dlltool.exe -v -d iconv.def -D iconv.dll -l libiconv.dll.a
    C:\ghc\ghc-6.10.2\gcc-lib\dlltool.exe: Using file: C:\ghc\ghc-6.10.2\gcc-lib\as
    C:\ghc\ghc-6.10.2\gcc-lib\dlltool.exe: Processing def file: iconv.def
    C:\ghc\ghc-6.10.2\gcc-lib\dlltool.exe: LIBRARY: iconv.dll base: ffffffff
    C:\ghc\ghc-6.10.2\gcc-lib\dlltool.exe: Processed def file
    C:\ghc\ghc-6.10.2\gcc-lib\dlltool.exe: Processing definitions
    C:\ghc\ghc-6.10.2\gcc-lib\dlltool.exe: Processed definitions
    C:\ghc\ghc-6.10.2\gcc-lib\dlltool.exe: Creating library file: libiconv.dll.a
    C:\ghc\ghc-6.10.2\gcc-lib\dlltool.exe: run: C:\ghc\ghc-6.10.2\gcc-lib\as -o dimhh.o dimhh.s
    C:\ghc\ghc-6.10.2\gcc-lib\dlltool.exe: No such file or directory
    C:\ghc\ghc-6.10.2\gcc-lib\dlltool.exe: CreateProcess
  • libiconv.dll.a を確認するとサイズ 0 ・・・Orz


    > ls *.a

    Mode LastWriteTime Length Name
    ---- ------------- ------ ----
    -a--- 2009/05/08 14:00 0 libiconv.dll.a
  • そもそも、dlltool が何をしているのか・・・、調べなきゃ。
  • mingwコンパイルした libiconv ないかなぁ・・・。