問題タブ [sdl-image]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cmake - SDL2_image を CMake 外部プロジェクトとしてビルドする
SDL2_image ライブラリを使用することになっているプロジェクト用の CMake ベースのビルド システムを作成しようとしています。プロジェクトをビルドするためにライブラリをシステムにインストールすることをユーザーに強制したくないので、外部プロジェクトとしてソース コードから依存関係 (freetype、SDL2、および SDL2_image) をダウンロードしてビルドする CMake の機能を利用しました。
freetype と SDL2 (どちらもそのままでCMakeLists.txtファイルが含まれています) ではすべて問題ありませんが、SDL2_image で機能させる方法については考えが尽きました。CMake の外部プロジェクトは、私がさまざまなバリアントで使用したカスタム構成とビルド設定をサポートしていますが、成功しませんでした。
CMake ファイル自体はここにありますが、問題のある部分は次のとおりです。
sdl2_image_project のビルド中にエラーが発生します。いくつかの些細な調査により、 libdlの一部への未定義の参照によってエラーが生成されることが発見されました。穴のエラーのごく一部を次に示します。
この問題は、リンカーが静的なlibSDL2.aにリンクしているときに SDL2_image ライブラリの共有バージョンを作成しようとするために発生すると思います。問題は、これが正しければ、SDL2 の構築段階でそれ自体の静的バージョンと共有バージョンの両方が作成されるため、リンカが代わりにlibSDL2-2.0.soを使用すると仮定することです (共有ライブラリは実際には必要ありません - 静的ライブラリだけですが、--enable-shared=no
SDL2_image構成スクリプトに渡す以外に、ビルドシステムがそれを作成しようとするのを防ぐ方法がわかりません。この場合は役に立ちません)。
多くのグーグル検索の後、問題の考えられる原因は、sdl2-config
(SDL_image のビルド中にコンパイラのフラグを取得するために呼び出される) が間違った引数で呼び出され、他のすべてを混乱させる間違った cflags を生成することであることがわかりました。sdl2_config
しかし、それが事実であるかどうかはわかりません。また、CMake からの呼び出しに影響を与える方法もわかりません (configure --help
この状況に役立つオプションを明らかにしていないようです)。
何らかの形で問題がある場合は、Ubuntu 14.04 x64 を実行しています。アドバイスをいただければ幸いです。
sdl - sdl イメージ 64 ビット ランタイム バイナリが 64 ビット コンピューターで動作しない
Visual Express c++ を使用しています。64 ビット用の SDL_image ランタイム ライブラリが 64 ビット コンピュータで動作しません。ただし、32 ビット ランタイム ライブラリは動作しています。64 ビット バージョンでは、png をロードしようとすると、IMG_GetError() で「libpng16-16 のロードに失敗しました」というエラーが表示されます。ただし、bmp ファイルは問題なく動作します。実行可能ファイルと同じディレクトリにdllファイルがあります。私は64ビットのSDL_imageを使用しています。
c++ - この実行エラーを修復するにはどうすればよいですか?
単純な SDL1.2 コードをコンパイルするたびに正常にコンパイルされますが、ターミナル経由で実行しようとすると ( alt+ tUbuntu では):
このエラーが発生します。助けていただけますか?これはコードです:
android - SDL 2.0 を使用した Android、画像を背景として設定
Android SDL 2.0 を試していますが、解決できない問題に遭遇しました。私の問題は、アプリケーションの背景として 1080*1920 の画像を作成しようとしていることです。フォトショップで作成しているのですが、スマホでアプリを起動しようとすると画質がかなり悪くなります。
以下に例を示します。写真ではどれくらい悪いかわかりませんが、私の電話の画面を見ると、もっと悪いです。
私が使用しているコード:
「kep」は、前に宣言された画像のテクスチャ、幅、および高さを持つ単なる構造です。現在 SDL_image 拡張機能を使用していますが、どちらでも機能しませんでしたSDL_LoadBMP()
。
品質が落ちないようにするにはどうしたらいいでしょうか?
どうもありがとう!
sdl-image - 新しいインスタンスを起動すると、SDL ウィンドウに、プログラムが最後に実行された最後のフレームが新しいウィンドウのバックグラウンドで表示される
私は単純なゲームを作っていて、SDL をいじっています。現在2枚の画像があり、それらを背景にする練習をしています。RenderCopy と DestroyTexture を呼び出して背景を作成し、メモリから消去してから表示します。背景を変更するために、ファイルパスをある画像から別の画像に変更しました。プログラムを実行したところ、新しい画像が他の画像の上に重ねられました。コンピューターのメモリを手動でクリーンアップすると、この問題を解決でき、適切にレンダリングされます。何らかの理由で、SDL は以前に呼び出されたイメージをクリアしていません。コードの他のどこにも古いイメージについての言及はなく、すべての Destroy 関数が呼び出されます。何が起こっている?
編集:私は少しスヌーピングを行いましたが、古いイメージをロードすることさえありません。SDL を実行しているプログラムで表示される最終的なレンダリングが実行前のものであったとしても、それは背景になります。文字通り、テレビが画像を画面に焼き付けるようなものです。その常にそこにあります。
c++ - Eclipse SDL_Image がウィンドウを表示しない
Eclipse CDT Helios + Mingw64 + SDL2 + SDL_Image:
IMG_Init
ウィンドウが表示されないようにします。
この問題は、Eclipse でのみ発生します。コンソールで(同じ構成を使用して)手動でコンパイルし、実行すると正常に動作します。
これは私のコードです:
sdl - IMG_Load メソッドが LNK2019 エラーで機能しません
Visual Studio 2013 で SDL を使用してゲームを作成しようとしています。
私がタイプされたとき:
次のようなエラーが発生しました:
エラー 2 エラー LNK2019: 関数で参照されている未解決の外部
シンボル
_IMG_Load
実行可能フォルダーも。
なぜこの問題が発生したのかわかりません。
誰が私に何をすべきか教えてもらえますか?
sdl - SDL: IMG_load が間違ったデータを返す
この問題は、言語 C を使用した SDL_image の "IMG_load" 関数から発生します。実行中にエラーは発生しませんが、行になると
関数は、使用できないデータを返します。たとえば、SDL_BlitSurface(image1, NULL, screen, &position)
何もしません。ただし、SDL_LoadBMP.
デバッガーを使用して、2 つの関数によって返されるデータの違いを理解しようとした関数を使用すると、正常に動作します。
IMG_Load("image.bmp") が返すものは次のとおりです。
SDL_LoadBMP("image.bmp") が返すものは次のとおりです:
(画像は同じで、40x40px の正方形であることに注意してください)。
IMG_Load関数が返すSDL_Surfaceに対してSDL_BlitSurfaceを使えないのはなぜですか?
編集: SDL_Image パッケージの関数がプログラムで使用されるのはこれが初めてであることも知っておく必要があります。
c++ - テクスチャ マッピング中にプログラムがクラッシュする
現在、ゲーム プロジェクトで使用する TextureManager クラスをテストしていますが、2D テクスチャを std::map にロードしようとすると .exe がクラッシュするという問題があります。私が必要としているのは、標準の文字列でキー付けされた SDL_Textures へのポインタのマップがあることです
SDL と SDL_image は正常に初期化されますが (コンソールで printfs が成功)、load() 関数が呼び出されるとすぐにテクスチャ マッピングが開始され、プログラムがクラッシュします。関数の実装の下
当然、テクスチャ マップは TextureManager クラスのプライベート メンバーです。関数が TextureManager のコンストラクターによって呼び出されるか、後で TextureManager へのポインターによって呼び出されるかは問題ではありません - 同じ結果です。このローダーの以前のバージョンは、テクスチャをマッピングしていませんでした。マップはまったく使用されていませんでしたが、問題なく動作していました。地図が原因ですか?バージョンの違いはこれだけ…
編集:最後のコード行に追加のコメントを追加して「コメントアウト」しました。提案をテストした後、それがエラーの理由であり、プログラムの動作は変わらなかったので、他の方法で行う必要があります。
EDIT2: OK、問題を解決しました。サーフェスの 1 つが .jpg ファイルから読み込まれ、何らかの理由で jpg sdl ライブラリ ファイルが破損していました。そのため、JPG サポートは実行時に初期化されず、jpg ファイルをロードしようとすると exe がクラッシュしていました。プロジェクト フォルダー内の .dll を置き換えると、問題が解決しました。現在、すべてが期待どおりに機能しています。
c++ - SDL アプリが他のコンピューターで実行されない
私は問題を理解しました。基本的に、すべての .dll ファイルを System32 に入れるだけで、アプリケーションはそこで .dll を検索します。次に、.dll が見つからない友人に exe を渡しました。このひどい質問で申し訳ありません
いくつかの SDL アプリケーションをコンパイルしましたが、コンパイルされたコンピュータ以外のコンピュータでは実行されません。私は .dll ファイルを .exe に含め、他のコンピューターにはビジュアル C++ とインストールされていないものがあります。
これは、依存関係ウォーカーが.exeを調べるように指示したときに吐き出すものです。この情報でGoogleで役立つものは何も見つかりません. すべてのプログラムは自分のコンピューターで問題なく動作し、それらのほとんどは必要最小限のものです。私のコンパイラは、「Lazy Foo」によるこのチュートリアルに基づいてセットアップされています。 -lmingw32 -lSDL2main -lSDL2 のみをリンクし、SDL のディレクトリ内のみを検索しています。
誰かがエラーメッセージを翻訳したり、何が問題なのかを理解するのを手伝ってくれたら、私は非常に感謝しています.問題は何らかの依存関係にあると確信しています.