[過去ログ] SDLスレ (987レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
525(2): 名前は開発中のものです。 [sage] 04/08/26 01:04 ID:c70JkN3E(1/3) AAS
>>523523(3): 名前は開発中のものです。 [sage] 04/08/25 21:13 ID:EcBBkrxH(1) AAS
BCCでライブラリをmakeしようとしたのですが、
エラー E2342 ..\..\src\video\windib\sdl_dibevents.c
189: パラメータ 'lpPrevWndFunc' は int (__stdcall *)() 型として定義されているので
long (__stdcall *)(void *,unsigned int,unsigned int,long) は渡せない
(関数 DIB_HandleMessage )とかいうエラーメッセージを吐いて出来ませんでした。
とりあえず該当箇所のソースを見て自分で直そうとしたのですが、見てみても
それらしき記述が発見できず…。
誰かどこを直せばいいかアドバイスお願いします。
一応環境は
Win98
BCC5.5.1
SDLのバージョンは安定版の1.2.7です。
適当に環境構築して試してみた。おれの環境は Win2k なんだが、
それ以外は一緒だから多分参考になると思う。Win2k + BCC5.5.1 + SDL-1.2.7 。
お前さんの言うエラーの lpPrevWndFunc は、CallWindowProc の第一引数の仮引数名だ。
そのエラーは winuser.h 内の Call〜 の定義のせいで出てる。で STRICT つーマクロを定義しとけば大丈夫。
つまり、Borland\freebcc\SDL.mak の 66 行目(辺り)の、
USERDEFINES = WIN32;BUILD_SDL;__FREEBCC__; ...
ってなってるその行の最後に「STRICT;」って書き足せばオッケーだ。
本当はその次の行にある SYSTDEFINES から NO_STRICT を消す必要があると思うんだが、
なんでか残したままでも問題なかったな。
で実はこれをクリアしても他にも問題が出てきた。それも適当に対処できたから次に続く。
527(1): 名前は開発中のものです。 [sage] 04/08/26 14:19 ID:JtN6FZlL(1/2) AAS
>>525
ありがとうございます。何故かmakeはILinkで止まってしまいましたが…。
SDLのソースをちょっと弄って使いたい場合はimplibだと無理ですよね?
色々ぐぐってみたところ
外部リンク[html]:www.mediawars.ne.jp
にSDLmain.libの修正方法が書いてありましたがSDL_dibevents.c
辺りを弄って使いたい場合にはどうすればいいのでしょうか…
そういえばmakeはobjファイルを参照しているということは一度ソースから
objファイルを生成してからmakeしないと変更が反映されないんですかね?
makeの仕組みが未だによく分かってません…。
528: 525 [sage] 04/08/26 19:11 ID:c70JkN3E(3/3) AAS
>>527
うん? ILink で止まるから >>526526(1): 525 の続き [sage] 04/08/26 01:23 ID:c70JkN3E(2/3) AAS
そのままビルドするとコンパイルは通るんだがリンクの段になって
「Error: 外部シンボル '_SDL_HasMMX' が未解決(.\SDL-1.2.7\SRC\VIDEO\SDL_BLITN.OBJ が参照)」
みたいなエラーが来る。これは SDL_cpuinfo.c に定義されてるんだが、
SDL_cpuinfo.c のコンパイルが makefile にまるで書いてないのが原因。
なので、Borland\freebcc\SDL.mak の 70 行目(辺り)の
PATHCPP = .;..\..\src; ...(以下略)
ってなってる行の最後に「;..\..\src\cpuinfo」を追加して、
後 50 行目(辺り)の
..\..\src\video\SDL_blit.obj
に書き足して、
..\..\src\video\SDL_blit.obj ..\..\src\cpuinfo\SDL_cpuinfo.obj
にすればビルドできる。SDL-1.2.7\test\ に SDL.dll と SDL.lib が出来てるはず。
本当は SDLmain.mak にも間違いがあってビルドできんのだけど、
>>523 の implib で解決するんならそっちでやってくれい。
……ああ、やっぱり長文になってもうた。
を書いたんだが……。
SDL_dibevents.c を弄っても SDL_main.lib にゃ関係ないと思うぞ?
影響が出るのは SDL.lib の方だけだと思うから、
SDLmain.lib は Borland\lib\ にある奴でいいんじゃないか。
SDL_dibevents.c を弄りたいんなら好きに弄って make -f SDL.mak でいいと思う。
SDL_dibevents を弄りたいっていうと、DIB_CreateWindow とか書き換えて、
フルスクリーンで解像度変えた時の他ウィンドウのサイズ保持とかやりたいのかしらん。
>そういえばmakeはobjファイルを参照しているということは
……その辺勝手にやってくれるから便利なんだと思うぞ。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.053s