080504

「080504」の編集履歴(バックアップ)一覧はこちら

080504」(2008/05/26 (月) 01:38:28) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*080504 パソコン死んだり事故ったりサーバー代払えてなかったり毎日が充実しすぎてて大変! **testspriteをコンパイルする ダウンロードしたSDLのファイル群の中に、testというディレクトリが存在すると思います。 その中にはSDLのテスト用のコードが入っています。 今回はそのなかの「testsprite.c」をコンパイルしてみましょう。 普通に、 $ gcc testsprite.c -o testsprite.exe などとしてもたくさんエラーがでて悲しい気持ちになると思います。 gccに適切なオプションをつけてコンパイルしてみて下さい。 という課題にしようと思ったんですが、多分誰もできないと思うので「sdl-config」について説明しておきます。 実は前回のインストールで、sdl-configとかいうコマンドが使えるようになっていると思います。 $ sdl-config Usage: sdl-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--libs] [--static-libs] これは、コンパイラに適切なオプションを指定するためのコマンドです。 とりあえず sdl-config --cflags --libs を実行してみましょう。 $ sdl-config --cflags --libs -I/usr/local/include/SDL -Dmain=SDL_main -L/usr/local/lib -lmingw32 -lSDLmain -lSDL -mwindows 何かそれっぽいものが出力されました。早速試してみます。 $ gcc testsprite.c -o testsprite.exe -I/usr/local/include/SDL -Dmain=SDL_main - L/usr/local/lib -lmingw32 -lSDLmain -lSDL -mwindows /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -lmingw32 collect2: ld returned 1 exit status はい、ローダがこけました!なんでだ!正直意味が分からないのですが何故かmingw32が存在しないらしいので、適当に外します。 $ gcc testsprite.c -o testsprite.exe -I/usr/local/include/SDL -Dmain=SDL_main - L/usr/local/lib -lSDLmain -lSDL -mwindows /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libcygwin.a(libcmain.o):: undefined reference to `_WinMain@16' collect2: ld returned 1 exit status はい、ローダがこけました!なんでだ!多分mingw32のオプション外した関係でWinMain周りがおかしいんだと思います正直よくわかりません。 仕方がないので-Dmain=SDL_mainを外します。理由はあまり説明したくありません。黒魔術です。 $ gcc testsprite.c -o testsprite.exe -I/usr/local/include/SDL -L/usr/local/lib -lSDLmain -lSDL -mwindows 通ったー! みんなの環境ではもっとスムーズに通ってくれるといいなと思いました。 出来た人は実行結果がどんなだったか niha28@gmail.com まで。
*080504 パソコン死んだり事故ったりサーバー代払えてなかったり毎日が充実しすぎてて大変! **testspriteをコンパイルする ダウンロードしたSDLのファイル群の中に、testというディレクトリが存在すると思います。 その中にはSDLのテスト用のコードが入っています。 今回はそのなかの「testsprite.c」をコンパイルしてみましょう。 普通に、 $ gcc testsprite.c -o testsprite.exe などとしてもたくさんエラーがでて悲しい気持ちになると思います。 gccに適切なオプションをつけてコンパイルしてみて下さい。 という課題にしようと思ったんですが、多分誰もできないと思うので「sdl-config」について説明しておきます。 実は前回のインストールで、sdl-configとかいうコマンドが使えるようになっていると思います。 $ sdl-config Usage: sdl-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--libs] [--static-libs] これは、コンパイラに適切なオプションを指定するためのコマンドです。 とりあえず sdl-config --cflags --libs を実行してみましょう。 $ sdl-config --cflags --libs -I/usr/local/include/SDL -Dmain=SDL_main -L/usr/local/lib -lmingw32 -lSDLmain -lSDL -mwindows 何かそれっぽいものが出力されました。早速試してみます。 $ gcc testsprite.c -o testsprite.exe -I/usr/local/include/SDL -Dmain=SDL_main - L/usr/local/lib -lmingw32 -lSDLmain -lSDL -mwindows /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -lmingw32 collect2: ld returned 1 exit status はい、ローダがこけました!なんでだ!正直意味が分からないのですが何故かmingw32が存在しないらしいので、適当に外します。 $ gcc testsprite.c -o testsprite.exe -I/usr/local/include/SDL -Dmain=SDL_main - L/usr/local/lib -lSDLmain -lSDL -mwindows /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libcygwin.a(libcmain.o):: undefined reference to `_WinMain@16' collect2: ld returned 1 exit status はい、ローダがこけました!なんでだ!多分mingw32のオプション外した関係でWinMain周りがおかしいんだと思います正直よくわかりません。 仕方がないので-Dmain=SDL_mainを外します。理由はあまり説明したくありません。黒魔術です。 $ gcc testsprite.c -o testsprite.exe -I/usr/local/include/SDL -L/usr/local/lib -lSDLmain -lSDL -mwindows 通ったー! みんなの環境ではもっとスムーズに通ってくれるといいなと思いました。 出来た人は実行結果がどんなだったか niha28@gmail.com まで。 追記: どうしても駄目な人は以下のサンプルコードを。 #include <SDL/SDL.h> int main(){ SDL_Init(SDL_INIT_VIDEO); SDL_Quit(); return 0; }

表示オプション

横に並べて表示:
変化行の前後のみ表示: