低音库未链接,所有其他工作完美

发布于 2024-09-10 19:19:08 字数 1098 浏览 9 评论 0原文

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

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

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

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

    UINT SetMusicThread(LPVOID Param);

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

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

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

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

    // 创建音乐句柄 str=BASS_StreamCreateFile(FALSE,声音[声音位置],0,0,0); // 检查是否有效 如果(!str) { // 无效,自由对象 //FreeMusicThread(); 返回假; } 现在的函数只是尝试启动第一个流:只是尝试

  5. str 是全局 HSTEAM。

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

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

  7. 添加了bass.lib 添加到“Addisionals 依赖项”,甚至尝试将其放入我的项目和 SDK 库的 LIB 中...尝试了我能想到的所有方法...

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

10倍

I'm having a wierd problem. i'm developping a nice game with openGL on MFC. i need to use threads for multi sound. so i am trying to use the BASS lib for that.

For a reason that is beyond my comprihention, i can not get the bass.lib to link. all other libs (openGL libs and so on) link perfect.

  1. i'v added "#include "base.h" to my *.h MFC dialog file (tried both the .cpp and the .h).

  2. I am using a global function for the thread declared in the cpp file:

    UINT SetMusicThread(LPVOID Param);

  3. Calling the new thread in the "onInitDialog()":

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

  4. The function for now is just trying to start the first stream: just trying set by step:

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

    // Create Handle to the music
    str=BASS_StreamCreateFile(FALSE,Sound[SoundPosition],0,0,0);
    // Check if valid
    if(!str)
    {
    // Not valid, Free object
    //FreeMusicThread();
    return FALSE;
    }
    }

  5. str is a global HSTEAM.

  6. The program compiles ok, but doesn't link with the messege:

    Error 6 error LNK2019: unresolved external symbol _BASS_StreamCreateFile@20 referenced in function "unsigned int __cdecl SetMusicThread(void *)" (?SetMusicThread@@YAIPAX@Z) MonstersDlg.obj Monsters

  7. added the bass.lib to the "Addisionals dependencies" and even tried to put it both in my project and in the the LIB of the SDKs library....tried every thing i can think of....

Can any one please help me....what am i missing???

10x

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一个人的旅程 2024-09-17 19:19:08

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

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

I think bass.h creates a static library.

You need to add the actual lib to your project by pressing in your sdk (while your project is open): Project -> Settings, press the Link tab and in your Object/library modules add the actual path of tha bass.lib. (the instructions are on VS 5.0 so diferences may be present in newer SDK versions)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文