1
mingwとvisual studio用にコンパイルされたSDLのライブラリ間にバグがありました。WindowsのSDL 2がオーディオデバイスで正しく動作しない
私は次のコードでオーディオ機器オープンしようとしている:私は
同じコードは、コマンドでMINGW32を経由してコンパイル「エラー間違ったフォーマット」を取得
#include <SDL.h>
#include <stdio.h>
int main(int argc, char **argv)
{
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_TIMER)) {
exit(1);
}
SDL_AudioSpec wanted_spec, spec;
wanted_spec.channels = 2;
wanted_spec.freq = 44100;
wanted_spec.format = AUDIO_S16SYS;
wanted_spec.silence = 0;
wanted_spec.samples = 2048;
wanted_spec.callback = 0;
//wanted_spec.userdata = opaque;
while (SDL_OpenAudio(&wanted_spec, &spec) < 0) {
printf("error cant open audio");
}
if (spec.format != AUDIO_S16SYS) {
printf("error wrong format");
return -1;
}
return 0;
}
MSVSを経由して、これをコンパイルします:
g++ main.c -I/mingw32/include/SDL2 -L/mingw32/lib -w -Wl,-subsystem,windows -lmingw32 -lSDL2main -lSDL2
が正しく動作します。誰かが私にこの理由を指摘できますか?これは同じマシン上で行われます。これは異なるバージョンのSDLライブラリによって引き起こされる可能性がありますか?
は、環境変数「SDL_AUDIODRIVER」=「DirectSoundに」を追加し、それが動作するかどうか私に教えてみてください追加しました –