• 締切済み

Linuxで実行ファイルに画像等を埋め込む方法

Linux環境でSDLを使ってプログラムを作っています。 実行ファイルに画像を埋め込みたいのですが、方法が解かりません。 WindowsのようにAPIがあるのでしようか?

みんなの回答

回答No.1

画像を、バイナリ化するのです。 そうすれば、一緒にリンクできますよ。 unsigned char pic[]={....}; で用意して、 SDLで読み込めばOKです。 Win/MinGW/SDLでも同じ手法で出来るため、 パータビリティーは高まりますよ。 なお、ゲームセンターの一部のゲームはSDLで動いてます。 (私が作ったので) WinのSDL(Cygwin+Gcc)で作って、最後にLinuxで コンパイルしてましたね。当時。

gpmfactory
質問者

補足

ありがとうございます。 概要は、解かったのですが肝心のSDL側のAPIが解かりません。 可能であれば、簡単なソース等あれば見せていただきたいです。

関連するQ&A

  • LINUXでのプログラムの実行方法(超初歩的な質問です)

    小生はLINUXをはじめて扱うものです。超初歩的な質問で恐縮ですが、LINUXでプログラムを実行するのはどうすればよろしいのでしょうか。Windowsのように、プログラムファイルをダブルクリックしても、LINUXでは実行されないようです。LINUXのバージョンはVINE3.0です。

  • .x86linux の実行ファイルを実行したいです。

    .x86linuxという拡張子のついたコンソールアプリケーションを実行したいです。 Linuxの環境ですが、WindowsXPを普段から使用しているPCで、 CD起動のberryLinuxというものを使用してます。 以前たまたま起動できたのですが、やり方を忘れてしまいました。 確かその時は、他の実行ファイルが置かれている フォルダ(????/bin/だったはず・・・。)に配置して実行しました。 berryLinuxのターミナル(コンソールウィンドウ)で、 実行したのですが、「許可がありません」と出て実行できません。 実行許可を取るために、ネットで、パーミッションについて調べ、 やってみましたが、うまく出来ませんでした。 何かヒントになる事や、実行方法を教えていただけると 非常に助かります。 よろしくお願いします。

  • Vine Linuxのプログラムの実行方法

    はじめまして。私はLinux初心者です。 Windowsが入っていたノートPCでOSが立ち上がらなくなったのでVineLinuxをインストールしてみたのですが、プログラムの実行方法がわかりません。 プログラムファイルから「実行」や「端末で実行」をしてもウィンドウの中に文字列がずらずらと出たあと、唐突にウィンドウが消えてしまいます。 また、Gnomeから「/home/@@@@/Desktop/@@@@」 などとプログラムの名前など入れてみましたが 「ディレクトリ /usr/sbin/@@@@ を削除できません 許可がありません  make: *** [install] エラー 1 Oops! It looks like make install failed.」 と表示され、そこでとまってしまいます。 (このプログラムは他のPC(WindowsXP)でダウンロード&解凍したものをUSBメモリーにコピーして移動させたものです。インターネットにはまだ接続できないのでこのような方法をとりました。) プログラム自体はLinuxで使うものなので、こちらの操作方法が間違っているのだと思います。 これを実行するにはどうしたらよいのでしょうか? どうかよろしくおねがいします。

  • 実行ファイルの呼び出し

    linuxでシステムの統合をしたいと考えております。 現在の状況はそれぞれのプログラムを別々の端末で実行し、それをTCP/IPで接続して連動して動作するようなシステムになっているのですが、一つのプログラムからそれぞれの実行ファイルを呼び出して使用するにはどのようにすればいいのでしょうか。 自分が調べたところによりますと実行ファイルを共有ライブラリ(.so)にしてそれを呼び出して使うという方法があり、単純な方法はわかったのですが(例えば"Hello World"と表示させる共有ライブラリを作り、それをmainで呼び出す)、引数や返り値があるときはときはどのように使えばいいのでしょうか? また、共有ライブラリ以外で実行ファイルを呼び出す方法はありますか? 開発環境はRed hat linux 8.0です。 ご教授のほどよろしくお願いします。

  • LINUXの実行ファイル

    最近CentosなんかのLinuxをいじっているのですが viでviエディターが起動します。 calでカレンダーが起動します。 windowsは電卓はCalc.exeのexeが実行ファイルになっており、Autoexec.batなどはバッチファイルとして実行されます。 cdやdirはCommand.comの内部コマンドだったりします。 (1)Linuxはこの辺どうなっているのでしょう?? (2)昔はyumってなかったような気がしますが、パッケージ?を管理するものなのでしょうか?それもどのあたりまで? Debian系では使えないのでしょうか? (2)はいいとして(いやよくないけど)(1)だけでも教えてください。

  • Linuxで実行ファイルを実行

    Linux上でC言語をコンパイルし、作成された実行形式ファイルを実行しようとしたのですが、実行できません。 作業フォルダは /var/www/html です。 gcc program.c でコンパイル、 作成されたa.out(ls でフォルダ内にあるのは確認済です) を以下の方法で実行しようとしましたが、全てできませんでした。 1. [root@host-210-161-57-177 html]# a.out bash: a.out: command not found 2. [root@host-210-161-57-177 html]# ./a.out opendir: No such file or directory 3. [root@host-210-161-57-177 html]# %./a.out bash: fg: %./a.out: no such job 4. [root@host-210-161-57-177 html]# % ./a.out bash: fg: %: no such job gcc -o program program.c でファイル名を指定してコンパイルしてみても同様の結果でした。 ご存じの方、どうかご回答をよろしくおねがいします。

  • Linux上で実行関数使用

    Windowsで作成したphpプログラムをLinuxに移動させようとしています。 そのプログラムの中ではC言語で作成したプログラムの実行形式(.exe)をshell_execを使って実行させています。 Linux上で動作させる場合は.outを実行すればよいとはわかるのですが、 どの実行関数を試してみてもパスが通らないか、通っても動作していなor結果が返ってこないようで、全く反応がありません。 .outを単体で実行させた場合は問題なく動作するので、C言語のプログラム上の間違いではないです。 どなたかLinux上で、phpで実行形式を動かす方法を知りませんか?

    • 締切済み
    • PHP
  • コマンドを実行し、出来たファイルと取り出したい

    windowsから、linuxにファイルを入れて、遠隔操作でコマンド(置き換え)を実行して、出来たファイルを取り出したいと思っています。 linuxへのコマンド実行は、sshのソフト(Poderosa)で出来るのですが、目的のファイルをlinuxへ出し入れする方法がわかりません。 windowsからファイルを出し入れするにはどうすればいいのでしょうか? ファイルの出し入れだけなら、sambaで出来るようなのですが、まだそこまでの準備が出来ていないので、sambaでコマンドが実行できるかわかりません。 そもそも、linux自体よくわかっていません。 そのため、根本的に間違っているかもしれません。 どうぞよろしくお願いします。

  • exeファイルの自動実行

    Linux Mint に wine をインストールして、Windowsの実行ファイルを実行させています。 具体的には、exeファイルを右クリックして、 [別のアプリで開く]-[Wine Windows Program Loader]を選択 で起動しています。 これを、例えば、拡張子.txtのテキストファイルをクリックすると、馴染みのエディタが起動するようにしたいのですが、設定の方法がわかりせん。 なお、exeファイルはインストールするタイプではなく、実行ファイルだけで完結したWindowsで動いていたプログラムです。

  • C言語でのLinuxとwindows共通のファイル一覧取得

    C言語でファイル一覧を読み込む関数を使いたいのですが、 Linuxとwindowsで共通になるようにラッピングAPIを作りたいです。 環境はLinuxはGCC、windowsはVC++6です。 my_opendir()、my_readdir()、my_closedir()というAPIとして、 Linux側はそれぞれopendir()、readdir()、closedir()を 内部で呼べばいいですが、問題はwindowsです。 my_opendir()内部で_findfirst()を呼んでしまうと、 一個目のファイルが読まれてしまいます。 グローバル変数に読まれたデータを保存して、 my_readdir()時の最初の時に読み出す方法も考えたのですが、 これだとリエントラントになりません。 何かいい方法はないでしょうか?

専門家に質問してみよう