わかった・・・ やっとわかったよ。
前回の記事(http://dixq.net/forum/blog.php?u=574&b=2248)のコメントで a5ua さんからご指摘いただいた、
XAudio の DLL をリンクするときに LoadLibrary が失敗する不具合。
まぁ単純に、その名前の DLL が無かったという事なのですが・・・
ついさっきまで考えてたことはこんな感じ。
DirectX SDK のバージョンが違えばDLLの名前は当然違ってくるわけで、
x3daudio.lib とか使わないで LoadLibrary でリンクする場合は
その辺ちゃんとあるかどうか調べて、全部対応しないといけない。
DirectX のランタイムがある場所のDLLの名前を全部調べて、
XAudio の文字を含むDLL を探して・・・
・・・とか考えていろいろやってましたが、そんなことは全くなかったのでございます。
修正はこれだけ。
"XAudioD2_6.dll" → "XAudio2_6.dll"
Yes. 1 バイト。'D' だけ。
こんなのに何日もかけてたんだぜ・・・。
あぁ・・・ 若いヤツが背伸びしてライブラリなんて作ろうとするから・・・。
あと、作ってるときはなにも気にしなかったけど、今回の修正で気になった点。
この XAudio2_6.dll は X3DAudioInitialize を呼ぶために使ってます。
XAudio2_6.dll は XAudio2 関係の DLL。
X3DAudioInitialize は X3DAudio の機能。
・・・ん?
ここは X3DAudio~.dll をリンクするべきじゃないのですか?
なんで動いてるんだろう・・・。
とりあえず、一応今回リンクする DLL の名前は "X3DAudio1_7.dll" に変えてあります。
実際、これでも動きました。なんでだろう・・・
修正版はこの記事の添付ファイルとして上げておきます。
・・・hr。
しかし・・・修正があったときにもう一度パッケージを作るのが面倒でござる。
早々にバッチを駆使して作業の簡略化できるように図らねば。
私事ですけど、夏休みは今日で終わりです。
夏休みの最後にしたこと・・・ バグ対応・・・。
もうコレ色気がないってレベルじゃあ・・・。
それにしても、もっと時間とれると思ったけど現実は甘くなかった。
お盆過ぎてから毎日講習があるとかどんだけー みたいなー
しかも体験入学の手伝いまでさせられるし・・・。
いかんいかん。暗い。話題が暗い。
最近涼しいですねというか、暑さに慣れた体には寒いですね。
私の家では買い置きしたアイスが消費できなくて溜まっています。
大体邪魔です大佐。
でも、おふとんをたくさんかぶって寝られるので幸せです。
・・・
うわぁ・・・なんかすっごい日記っぽいのと同時に
最近ネット始めました!よろしくお願いします!・・・的な初々しい匂いがぷんぷん!
さて・・・次はグラフィックの機能を追加していきます。
ただ、学校始まっちゃうので更新間隔はこれまでよりかなり空くようになるかもしれません・・・。
DLL リンクの修正
DLL リンクの修正
- 添付ファイル
-
[拡張子 zip は無効化されているため、表示できません]
最後に編集したユーザー lriki on 2011年8月21日(日) 14:30 [ 編集 1 回目 ]
コメントはまだありません。