0
を開こうとすると打ち鳴らすか、gccのD-バス関連のランタイムクラッシュ私のシステムではSDL2ウィンドウ
#include <cstdio>
#include <SDL2/SDL.h>
int main(int argc, char** args)
{
printf("Hi");
SDL_Init(SDL_INIT_VIDEO);
SDL_CreateWindow("", 0, 0, 800, 600, 0);
printf("Bye");
}
のいずれかでコンパイルされたC++コードの次のスニペットを実行しているとき、私は、実行時
で次の出力を得ますprocess 9360: arguments to dbus_connection_open_private() were incorrect, assertion "address != NULL" failed in file dbus-connection.c line 2664.
This is normally a bug in some application using the D-Bus library.
D-Bus not built with -rdynamic so unable to print a backtrace
Hi
別のマシンで動作していたSDL2コードをコンパイルして実行しようとしたときに同じ問題が発生しましたが、そのマシンでコンパイルされたバイナリが動作しても動作します。
私はAntergos Linuxを使用していますが、SDL2とD-Busの最新バージョンを使用しています(定期的に更新プログラムをpacman経由で実行しています)。私はどんな助けにも感謝し、どんなさらなる質問にもお答えできたら幸いです、ありがとうございます。
SDLソースコードによるクイック検索では、最初にNULLのために 'addr'をチェックすることなく、この関数を呼び出すことはないことが示唆されています。 hgからSDLを取得し、ビルドしてリンクします。問題が解消されない場合は、SDLをデバッグシンボルでビルドし、デバッガで実行してスタックトレースと実際の値を確認します。 – keltar
私は最近、Ubuntuでそのようなものを見ました。アプリケーションの正しい機能には影響しませんでした。 – Velkan
@Velkan私はそれが 'DBUS_FATAL_WARNINGS' envvarによって制御されていると思います。デフォルト値は1と思われるので、このエラーで 'abort()'を実行し、プログラムを終了します。 – keltar