低音库未链接,所有其他工作完美
我有一个奇怪的问题。我正在 MFC 上使用 openGL 开发一款不错的游戏。我需要使用线程来实现多声音。所以我尝试使用 BASS 库来实现这一点。
由于超出我理解的原因,我无法链接 bass.lib。所有其他库(openGL 库等)链接完美。
我将“#include”base.h”添加到我的 *.h MFC 对话框文件中(尝试了 .cpp 和 .h)。
我正在对 cpp 文件中声明的线程使用全局函数:
UINT SetMusicThread(LPVOID Param);
在“onInitDialog()”中调用新线程:
AfxBeginThread(SetMusicThread,GetSafeHwnd(),THREAD_PRIORITY_NORMAL,0,0,NULL);
现在的功能只是尝试启动第一个流:只是尝试按步骤设置:
UINT SetMusicThread(LPVOID 参数) { //soundTrack* sound = (soundTrack*)Param;
// 创建音乐句柄 str=BASS_StreamCreateFile(FALSE,声音[声音位置],0,0,0); // 检查是否有效 如果(!str) { // 无效,自由对象 //FreeMusicThread(); 返回假; } 现在的函数只是尝试启动第一个流:只是尝试
str 是全局 HSTEAM。
程序编译正常,但未与消息链接:
错误 6 错误 LNK2019: 函数“unsigned int __cdecl SetMusicThread(void *)”中引用了无法解析的外部符号 _BASS_StreamCreateFile@20 (?SetMusicThread@@YAIPAX@Z) MonstersDlg.obj Monsters
添加了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.
i'v added "#include "base.h" to my *.h MFC dialog file (tried both the .cpp and the .h).
I am using a global function for the thread declared in the cpp file:
UINT SetMusicThread(LPVOID Param);
Calling the new thread in the "onInitDialog()":
AfxBeginThread(SetMusicThread,GetSafeHwnd(),THREAD_PRIORITY_NORMAL,0,0,NULL);
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;
}
}str is a global HSTEAM.
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
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为 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)