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"
これでコンパイルが通るようになりました。