2010-07-16 53 views
3

我有一个奇怪的问题。我正在使用MFC开发一个漂亮的游戏。我需要使用多线程声音。所以我正在尝试使用BASS库。低音库没有链接,所有其他工作完美

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

  1. 心中已经加入“#包括 “base.h” 我是* .h MFC对话框文件(试用过的.cpp和.h)中。

  2. 我使用的是全局函数在CPP文件中声明的线程:

    UINT SetMusicThread(LPVOID帕拉姆);

  3. 调用在新线程 “的OnInitDialog()”:

    AfxBeginThread(SETM usicThread,GetSafeHwnd(),THREAD_PRIORITY_NORMAL,0,0,NULL);

  4. 为现在的功能只是试图启动第一流:只是试图通过步骤设置:

    UINT SetMusicThread(LPVOID帕拉姆) { //原声*声音=(原声*)参数; str = BASS_StreamCreateFile(FALSE,Sound [SoundPosition],0,0,0); //创建句柄到音乐 str = BASS_StreamCreateFile(FALSE,Sound [SoundPosition],0,0,0);创建句柄到音乐 。 //检查是否有效 if(!str) { //无效,自由对象 // FreeMusicThread(); return FALSE; } }

  5. str是一个全球性的HSTEAM。

  6. 程序编译好,但不与messege链接:

    错误6错误LNK2019:在功能 “无符号整型__cdecl SetMusicThread(无效*)” 引用解析外部符号_BASS_StreamCreateFile @ 20(SetMusicThread? @@ YAIPAX @ Z)MonstersDlg.obj Monsters

  7. 将bass.lib添加到“Addisionals dependencies”,甚至试图将它放在我的项目和SDK库的LIB中....尝试我能想到的每一件事情......

任何人都可以帮助我......我失去了什么?

10x

+0

base.h? HSTEAM?张贴代码片段,不要谈论它。发布下载链接。 – 2010-07-16 13:50:42

+0

尝试在#include“bass.h”之前添加'#define BASSDEF(f)(WINAPI * f)'。 – Eanmos 2017-08-19 17:42:53

回答

1

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

您需要通过按下sdk(当您的项目打开时),将实际的lib添加到您的项目中:Project - > Settings,按下Link选项卡并在对象/库模块中添加实际的低音路径的.lib。 (说明在VS 5.0中,所以在较新的SDK版本中可能存在差异)

+0

10倍,我做到了这一切,将bass.lib添加到链接器,同样的事情你用opengl文件或任何外部文件.... mabye我不明白你,但如果我这样做,它是其中之一我做的所有步骤....没有工作 – Erez 2010-07-16 13:57:41

+0

你不应该添加它作为Addisional依赖你应该基本上将它添加到你的dsp文件。你不应该添加文件,yolu应该插入PATH。 – Sunscreen 2010-07-16 14:02:22

+0

好吧,10倍,现在我很困惑...大声笑 我想我不知道你是什么意思.... 项目下没有设置,只是属性,引导你到链接器,然后依赖关系.... 什么是dsp文件?什么路径添加和在哪里? 这是一个非常新的方向,试图找到一个解决方案遍及网络....如果你可以帮助我一些我会非常感激.... 10x – Erez 2010-07-16 14:20:35

相关问题