0

我希望我可以问“我需要链接哪些库”,但它非常具体(wwise 引擎集成),所以我需要帮助自己解决这个问题。当我尝试创建在头文件中定义的类型的变量时会出现问题(编译器发现头文件没有问题)。我收到 22 个链接器错误,但我不明白读出的内容,有人可以引导我完成它并准确地告诉我缺少哪个符号,这样我就可以弄清楚我缺少哪些库?除了没有链接的库之外,它可能是其他任何东西吗?Wwise 附带了一个演示项目,它可以编译但没有链接到比我更多的库。

以下是其中的 5 个错误。我正在使用视觉工作室。

1>main.obj : error LNK2019: unresolved external symbol "public: enum AKRESULT __thiscall CAkDefaultIOHookBlocking::Init(struct AkDeviceSettings const &,bool)" (?Init@CAkDefaultIOHookBlocking@@QAE?AW4AKRESULT@@ABUAkDeviceSettings@@_N@Z) referenced in function "bool __cdecl InitSoundEngine(void)" (?InitSoundEngine@@YA_NXZ)
1>main.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall CAkDefaultIOHookBlocking::GetDeviceDesc(struct AkDeviceDesc &)" (?GetDeviceDesc@CAkDefaultIOHookBlocking@@UAEXAAUAkDeviceDesc@@@Z)
1>main.obj : error LNK2001: unresolved external symbol "public: virtual unsigned long __thiscall CAkDefaultIOHookBlocking::GetDeviceData(void)" (?GetDeviceData@CAkDefaultIOHookBlocking@@UAEKXZ)
1>main.obj : error LNK2001: unresolved external symbol "public: virtual enum AKRESULT __thiscall CAkDefaultIOHookBlocking::Read(struct AkFileDesc &,struct AkIoHeuristics const &,void *,struct AkIOTransferInfo &)" (?Read@CAkDefaultIOHookBlocking@@UAE?AW4AKRESULT@@AAUAkFileDesc@@ABUAkIoHeuristics@@PAXAAUAkIOTransferInfo@@@Z)
1>main.obj : error LNK2001: unresolved external symbol "public: virtual enum AKRESULT __thiscall CAkDefaultIOHookBlocking::Write(struct AkFileDesc &,struct AkIoHeuristics const &,void *,struct AkIOTransferInfo &)" (?Write@CAkDefaultIOHookBlocking@@UAE?AW4AKRESULT@@AAUAkFileDesc@@ABUAkIoHeuristics@@PAXAAUAkIOTransferInfo@@@Z)
4

2 回答 2

2

您有一个文件AkDefaultIOHookBlocking.cpp尚未添加到您正在构建的项目中。

于 2012-09-09T19:54:11.327 回答
2

符号是:

enum AKRESULT CAkDefaultIOHookBlocking::Init(struct AkDeviceSettings const &,bool)
virtual void CAkDefaultIOHookBlocking::GetDeviceDesc(struct AkDeviceDesc &)
virtual unsigned long CAkDefaultIOHookBlocking::GetDeviceData(void)
virtual enum AKRESULT CAkDefaultIOHookBlocking::Read(struct AkFileDesc &,struct AkIoHeuristics const &,void *,struct AkIOTransferInfo &)
virtual enum AKRESULT CAkDefaultIOHookBlocking::Write(struct AkFileDesc &,struct AkIoHeuristics const &,void *,struct AkIOTransferInfo &)

据我所知,您只有声明 class 的标头CAkDefaultIOHookBlocking,这意味着您尝试使用上述任何符号,您需要链接到库。

Wwise 附带了一个演示项目,它可以编译但没有链接到比我更多的库。

要么不使用符号,要么在该项目中编译定义这些符号的源文件 - http://gmwwise.googlecode.com/svn-history/r2/trunk/GMWwise/wwise/AkDefaultIOHookBlocking.cpp

于 2012-09-09T19:58:04.407 回答