問題タブ [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.
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 のディレクトリ内のみを検索しています。
誰かがエラーメッセージを翻訳したり、何が問題なのかを理解するのを手伝ってくれたら、私は非常に感謝しています.問題は何らかの依存関係にあると確信しています.
c++ - CLion が SDL2_image を認識しない
/usr/include/SDL2 に SDL2_image ライブラリをインストールしました (このディレクトリに SDL_image.h があります)。
CLion でコンパイルするとすべて正常に動作しますが、エディターでは、SDL2_image ライブラリーのインクルードと関数のいずれかがエラーで表示されます (このライブラリーはコンパイラーによって検出されますが、エディターでは検出されません)。
これは私のCMakeです:
何が問題ですか?
c - gcc と SDL_image ライブラリをリンクするにはどうすればよいですか?
次のスクリプトがあります。
次のソースコードを正常にコンパイルします。
私の質問は、追加されたライブラリ SDL_image でこれをコンパイルするにはどうすればよいですか? こんな感じでしょうか。
これを試すと、次のエラーが表示されます。
c++ - SDL2_imageが見つかりません
ヘッダーを持つ次のコードをコンパイルしようとしています。
ただし、次のメイクファイルを実行した後:
次のエラーが表示されます。
助言がありますか?SDL_image のインストールについて完全にはわかりません。これをUbuntuで実行しています。
c++ - SDL エラー: SDL_CreateTextureFromSurface のレンダラーが無効です
さて、私が調査したところ、Invalid Renderer エラーはさまざまなケースに適用されるようで、コードがそれを作成している理由がわかりません。コードの特定の領域に絞り込みました
具体的にはラインで、
SDL が無効なレンダラー エラーを返す原因となっています。私の init クラスでは、レンダラーは完全に初期化されますが、それを使用して画像を読み込もうとすると、無効なレンダラー エラーが発生します。このエラーを修正する方法についてのヘルプをいただければ幸いです。
編集:: これは、レンダラーに関連する Init クラスのコードです。
これが問題の発見に役立つことを願っています。