WindowsフォームとDXライブラリの競合使用

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
stra

WindowsフォームとDXライブラリの競合使用

#1

投稿記事 by stra » 14年前

Visual C++ 2010を使用していて、
Windowsフォームプロジェクトでいろいろ設定した後にDXライブラリの音を鳴らす部分とキー操作部分が使いたいなと思い、
DxLib.hをインクルードしてデバッグすると、
error C3641: 'DxLib::D_CMemReader::Register' : /clr:pure または /clr:safe と共にコンパイルされた関数に対する呼び出し規約 '__stdcall ' が無効です
というエラーが出てきて、うまくコンパイルできません。
ちなみに私は超初心者なのでどのようにソフトを使用すればいいかもあまりわかっていません。
教えていただきたいのは、
1, このエラーを解消する方法
2, DXライブラリ以外でwavファイルを鳴らす方法
以上です。

どうかご教授お願いいたします。

アバター
bitter_fox
記事: 607
登録日時: 15年前
住所: 大阪府

Re: WindowsフォームとDXライブラリの競合使用

#2

投稿記事 by bitter_fox » 14年前

stra さんが書きました: error C3641: 'DxLib::D_CMemReader::Register' : /clr:pure または /clr:safe と共にコンパイルされた関数に対する呼び出し規約 '__stdcall ' が無効です
というエラーが出てきて、うまくコンパイルできません。
1, このエラーを解消する方法
2, DXライブラリ以外でwavファイルを鳴らす方法
「プロジェクト名」を右クリックして「プロパティ」を選択
2.png
「構成プロパティ」の「全般」から「共通ランタイムサポート」を適したものに設定してください。
3.png
3.png (62.45 KiB) 閲覧数: 2274 回
DXライブラリ以外でwavファイルを鳴らす方法ですが
PlaySoundというWindowsAPIを使用する方法があります
http://msdn.microsoft.com/ja-jp/library/cc428768.aspx

http://homepage2.nifty.com/c_lang/sdk4/sdk_342.htm
リソースを指定する方法で書かれてますが、ファイル名からでも可能です。
ファイル名からの場合は第一引数にそのファイル名を第三引数にSND_FILENAMEを追加指定してください。

より高度なものではMCIを使用することになります。
http://msdn.microsoft.com/ja-jp/library/cc410493.aspx
http://msdn.microsoft.com/ja-jp/library/cc410496.aspx

http://www13.plala.or.jp/kymats/study/M ... _play.html - (1)
http://www.geocities.jp/ky_webid/win32c/043.html
http://www.geocities.jp/ky_webid/win32c/044.html

(1)でも触れられてるように、MCIを利用する場合はリソースからの指定は直接的には不可能でファイルからの指定のみになります。

閉鎖

“C言語何でも質問掲示板” へ戻る