忍者ブログ

銀朱工房

クッソ初心者がダンジョンRPGを作成する パソコンって何ですかって人が頑張ってダンジョンRPGを作ったローという感じ クソゲーが出来上がる過程を報告って感じですね やった内容は右のカテゴリーから参照お願いいたします。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

またコケタ(window表示にて)その4

さてと、背景の色を変えましょう

  winclass.hCursor = NULL;
  winclass.hbrBackground = (HBRUSH)color_BACKGROUND + 1;
  winclass.lpszMenuName = NULL;
  winclass.lpszClassName = WIN_NAME;

ウインドウクラスの背景ブラシを
hbrBackground = (HBRUSH)color_BACKGROUND + 1;

hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
これでクライアント領域が白になるであろ

レッツコンパイル
コマンドプロンプトからエイットナ

D:\Workspace>gcc.exe window.c
C:\Users\XXXXX\AppData\Local\Temp\ccc2rzHu.o:window.c:(.text+0x3e): undefined reference to `GetStockObject@4'
collect2.exe: error: ld returned 1 exit status

ムッキィ!! ノ`⌒´)ノ ┫:・'.::・┻┻:・'.::・
お前もかブルータス!!

さっそくgoogle先生に聞きました。
結論:ライブラリが足りてない
”GetStockObject”はgdi32.libの中に入っていますとのことでした。
該当するのは、-lgdi32のコンパイルオプションですね

ちなみに私が作成したバイナリには、どんなライブラリがリンクされているのか調べてみましょう

コマンドプロンプトから
objedump -pを打つべし

D:\Workspace>objdump -p a.exe | find "DLL"
vma: Hint Time Forward DLL First
DLL Name: KERNEL32.dll
DLL Name: msvcrt.dll
DLL Name: USER32.dll
ふむ、たしかにGDI32.dllの姿がございません。

先生が曰く、kernek32.lib, user32.lib, gdi32.libの指定が必要らしい
GDI32.dllだけないね

ぶっこんでコンパイルしてみよう
D:\Workspace>gcc.exe window.c -lgdi32

D:\Workspace>a.exe
・・・(*`д´)b OK!

ーーーーー実行結果ーーーー

うまくいきました。

拍手[0回]

PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

プロフィール

HN:
ンメローン
性別:
男性
職業:
なんちゃってソフト屋さん
趣味:
いろいろある多趣味である
自己紹介:
寝るのが大好きなキモオタです。
しいていうなら、
ただの通りすがりのメロンみたいなものですよ

カレンダー

10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

ブログ内検索

フリーエリア

最新CM

[08/30 imitazione cartier anelli oro donna]
[02/17 kos3xnqd9v3]
[02/16 uem4paid3j2]

バーコード

コガネモチ

P R

ページ