3

我有一个奇怪的问题。我正在 MFC 上使用 openGL 开发一款不错的游戏。我需要为多声音使用线程。所以我正在尝试使用 BASS lib。

由于我无法理解的原因,我无法让 bass.lib 链接。所有其他库(openGL 库等)链接完美。

  1. 我已将“#include”base.h“添加到我的 *.h MFC 对话框文件中(尝试了 .cpp 和 .h)。

  2. 我正在为 cpp 文件中声明的线程使用全局函数:

    UINT SetMusicThread(LPVOID 参数);

  3. 在“onInitDialog()”中调用新线程:

    AfxBeginThread(SetMusicThread,GetSafeHwnd(),THREAD_PRIORITY_NORMAL,0,0,NULL);

  4. 现在的功能只是尝试启动第一个流:只是尝试逐步设置:

    UINT SetMusicThread(LPVOID Param) { //soundTrack* sound = (soundTrack*)Param;

    // 创建音乐句柄 str=BASS_StreamCreateFile(FALSE,Sound[SoundPosition],0,0,0); // 检查是否有效 if(!str) { // 无效,免费对象 //FreeMusicThread(); 返回错误;} }

  5. str 是一个全局 HSTEAM。

  6. 该程序编译正常,但没有与消息链接:

    错误 6 错误 LNK2019:未解析的外部符号 _BASS_StreamCreateFile@20 在函数“unsigned int __cdecl SetMusicThread(void *)”(?SetMusicThread@@YAIPAX@Z) MonstersDlg.obj Monsters 中引用

  7. 将 bass.lib 添加到“附加依赖项”中,甚至尝试将它放在我的项目和 SDK 库的 LIB 中……尝试了我能想到的所有东西……

任何人都可以帮我....我错过了什么???

10倍

4

1 回答 1

1

我认为 bass.h 创建了一个静态库。

您需要通过按 sdk 将实际库添加到您的项目中(当您的项目打开时):项目 -> 设置,按链接选项卡并在您的对象/库模块中添加 tha bass.lib 的实际路径。(说明在 VS 5.0 上,因此较新的 SDK 版本中可能存在差异)

于 2010-07-16T13:29:31.817 回答