私は奇妙な問題を抱えています。MFC で openGL を使用して素敵なゲームを開発しています。マルチサウンドにはスレッドを使用する必要があります。そのためにBASSライブラリを使用しようとしています。
私の理解を超えた理由で、bass.lib をリンクできません。他のすべてのライブラリ (openGL ライブラリなど) は完全にリンクします。
*.h MFC ダイアログ ファイルに "#include "base.h" を追加しました (.cpp と .h の両方を試しました)。
cpp ファイルで宣言されたスレッドにグローバル関数を使用しています。
UINT SetMusicThread(LPVOID Param);
「onInitDialog()」で新しいスレッドを呼び出す:
AfxBeginThread(SetMusicThread,GetSafeHwnd(),THREAD_PRIORITY_NORMAL,0,0,NULL);
今のところ、関数は最初のストリームを開始しようとしているだけです: ステップごとに設定しようとしているだけです:
UINT SetMusicThread(LPVOID Param) { //soundTrack* sound = (soundTrack*)Param;
// 音楽へのハンドルを作成します。 str=BASS_StreamCreateFile(FALSE,Sound[SoundPosition],0,0,0); // 有効かどうかを確認します if(!str) { // 有効ではありません。無料のオブジェクト //FreeMusicThread(); FALSE を返します。} }
str はグローバル HSTEAM です。
プログラムは正常にコンパイルされますが、メッセージとリンクしません:
エラー 6 エラー LNK2019: 未解決の外部シンボル _BASS_StreamCreateFile@20 が関数で参照されています "unsigned int __cdecl SetMusicThread(void *)" (?SetMusicThread@@YAIPAX@Z) MonstersDlg.obj Monsters
bass.lib を「Addisionals の依存関係」に追加し、それを自分のプロジェクトと SDK ライブラリの LIB の両方に配置しようとしました....私が考えることができるすべてのことを試しました....
誰でも私を助けてくれませんか....何が欠けていますか???
10倍