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

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


我在我的* .h MFC对话框文件中添加了“ #include“ base.h”(尝试了.cpp和.h)。
我正在对cpp文件中声明的线程使用全局函数:

UINT SetMusicThread(LPVOID参数);
在“ onInitDialog()”中调用新线程:

AfxBeginThread(SetMusicThread,GetSafeHwnd(),THREAD_PRIORITY_NORMAL,0,0,NULL);
现在的功能只是尝试开始第一个流:仅尝试逐步设置:

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

//为音乐创建句柄
str = BASS_StreamCreateFile(FALSE,Sound [SoundPosition],0,0,0);
//检查是否有效
如果(!str)
{
//无效,自由对象
// FreeMusicThread();
返回FALSE;
}
}
str是全球HSTEAM。
该程序可以编译,但是不与消息链接:

错误6错误LNK2019:在函数“ unsigned int __cdecl SetMusicThread(void *)”中引用的未解析的外部符号_BASS_StreamCreateFile @ 20(?SetMusicThread @@ YAIPAX @ Z)MonstersDlg.obj Monsters
将bass.lib添加到“ Addisionals依赖项”中,甚至试图将其放入我的项目和SDKs库的LIB中。


谁能帮我...。我想念什么???

10倍

最佳答案

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

您需要通过按sdk(在打开项目的同时)将实际的lib添加到项目中:Project-> Settings,按Link选项卡,然后在Object / library模块中添加tha bass.lib的实际路径。 (说明位于VS 5.0上,因此更新的SDK版本中可能存在差异)

09-05 22:24