win32プログラミングのメモ書きです。


TransparentBlt()やAlphaBlend()関数などを含むwin32プログラミングをborlandのbcc32でコンパイルすると下のようなコンパイルエラーが発生するときがあります(例としてhoge.cはソースファイル名)。


>bcc32 -W hoge.c

Error: 外部シンボル 'TransparentBlt' が未解決(~.OBJ が参照)


これはTransparentBltはmsimg32.dllに実装されているけど、msimg32.libファイルをリンカにインポートされていないためです。


ですので、コンパイル時にリンクしてあげる必要があります。


>bcc32 -W hoge.c msimg32.lib

Fatal: ファイル MSIMG32.LIB が開けません


またFatalエラーが発生しました。このエラーが発生したときはC:\borland\bcc55\Binフォルダ(パスは個人によって違います)にあるilink32.cfg,bcc32.cfgを以下のように編集してみます。


ilink32.cfg

-L"c:\borland\bcc55\lib;c:\borland\bcc55\ib\PSDK"

bcc32.cfg

-I"c:\borland\bcc55\include"
-L"c:\borland\bcc55\lib;c:\borland\bcc55\lib\PSDK"

これでコンパイルが通るようになりました。