●概要
・SDLライブラリの最新版をお手軽(かどうかは、微妙ですが)にBCC32で利用するため、
VC6版のDLLからインポートライブラリを作成する事と、SDLmain.libはBCC32で最初から
コンパイルを行います。バージョンが変わってもやることは特に変わらないのと、
VC8版でもできるはず(たぶん)。
上のアーカイブは、以下の手順を実施してBCC32用にできたライブラリをまとめた物です。
●動作環境
・windows
●導入
・SDLの本家サイトより、
ソースコードと、Visual C++ 6.0向けの開発ライブラリをダウンロード。
・同じディレクトリに、ソースコードと開発ライブラリを展開。
・その他、利用するDLLをbinディレクトリ内に格納。
今回は、標準のSDL.dllの他、SDL_image.dll、SDL_mixer.dllを格納しています。
・BCC32開発用のMakefileをダウンロードし、srcディレクトリと同じ階層に格納。
・ソースツリーは以下の通り。
SDL-1.2.xx/
|
+ bin/ … DLL
|
+ src/ … ソースコード
|
+ include/ … ヘッダファイル
|
+ lib/ … 生成されるライブラリ、オブジェクトファイルが格納される
|
+ Makefile.BCC … BCC32用のメイクファイル
・ヘッダファイルにBCC32対応処置を施す。
※ソースコードの改行コードは、「LF」のみであるため、
メモ帳ではなく、きちんと改行コードが扱えるテキストエディタで編集すること。
SDL_config_win32.h(32)あたり
---------------------------------------------------------------------
#elif defined(_MSC_VER)
↓
#elif defined(_MSC_VER) || defined(__BORLANDC__)
---------------------------------------------------------------------
・環境変数を設定。
CC_HOME … BCC32がインストールされているディレクトリ
SDL_HOME … 上記のSDLライブラリをインストールしたディレクトリ
PATH … %CC_HOME%\bin を追記
・makeを実行。
コマンドプロンプトを開き、作業ディレクトリをSDLのディレクトリに移動。
その後、「make -f Makefile.BCC」を実行。
以上で、lib内に以下のファイルが出力されます。
SDL.lib
SDLmain.lib
SDL_image.lib
SDL_mixer.lib
SDL_main.obj
後は、実際にSDLを使いたいアプリケーションのリンク時に利用します。
SDLmain.libとSDL_main.objは、内容的に同じなので、好みに応じてご利用ください。
●番外編
・テストコードをコンパイルしてみる。
testfile.c(6) このファイルだけコンパイルが通らないので修正
---------------------------------------------------------------------
#ifndef _MSC_VER
↓
#if !defined(_MSC_VER) && !defined(__BORLANDC__)
---------------------------------------------------------------------
Makefileをダウンロードして、test/内に格納。
「make -f Makefile.BCC」を実行でコンパイルします。
(でも、全部は動かんかった…orz)
・その他のライブラリもDLLからインポートライブラリを作成してみました。
SDL_draw-1.2.13-bcc32.zip
SDL_gfx-2.0.20-bcc32.zip
●免責事項
・作者は本拡張機能の使用によって生じた損害の一切を補償しません。
個人の責任において使用してください。
・各ライブラリのライセンスについては、提供元にて提示されているものが
適用されます。
- SDL http://www.ferzkopp.net
- SDL_draw http://sdl-draw.sourceforge.net/
- SDL_gfx http://www.ferzkopp.net/
---------------------------------------------------------------------
●謝辞
SDLを支えている世界中の皆様に感謝。
以下は昔のバージョン
- SDL-1.2.13-bcc32.zip (BCC32用ライブラリ+SDL_image+SDL_mixer)
※注意※ SDLmain.libが正常に作成できていませんので、SDL_main.objを利用してください。