6

数か月間、軽い OpenGL プログラミングを行ってきましたが、xscreensaver ライブラリを使用してスクリーンセーバーを作成したいと考えています。

これを質問する前にLinuxスクリーンセーバーの開発方法を見ましたが、特定の質問は十分に具体的ではないと思います。

私がすでにやったこと-

  1. xscreensaver のソースをダウンロードし、README.hacking を読みました。ソースの hacks ディレクトリにある graynetic.c (readme で xscreensaver を理解するために jwz が提案するスクリーンセーバーの 1 つ) のコードをいじっています。

  2. 私はこのウェブページを読みました - http://www.dis.uniroma1.it/~liberato/screensaver/simplesquares.html (リンクされた質問の回答の1つから)。そして、simplesquares.c コードをダウンロードして実行しようとしています。

私の問題は何ですか-

  1. スクリーンセーバーに加えた変更をコンパイルして実行する方法がわかりません。
  2. 前述の simplesquares.c を gcc でコンパイルし、実行可能ファイルを実行すると、出力がまったく表示されません。私は何か間違ったことをしていますか?

: simplesquares をコンパイルするときに X11 ライブラリをリンクするには、gcc コマンドに -lX11 を追加する必要があります。そうしないと、未定義の参照エラーが返されます。

編集

スクリーンセーバーの graynetic.c をコンパイルすると、いくつかのエラーが返されます。その一部をここで再現しました。

greynetic.c:(.text+0x4f): undefined reference to `XGetWindowAttributes'
greynetic.c:(.text+0xa6): undefined reference to `get_boolean_resource'
greynetic.c:(.text+0xd9): undefined reference to `get_pixel_resource'
greynetic.c:(.text+0x112): undefined reference to `get_pixel_resource'
greynetic.c:(.text+0x13e): undefined reference to `get_integer_resource'
greynetic.c:(.text+0x185): undefined reference to `XCreateGC'
greynetic.c:(.text+0x1dd): undefined reference to `XCreatePixmapFromBitmapData'

これはおそらくリンク エラーです。

4

0 に答える 0