我正在尝试让我的 Unity Xbox 插件正常工作。对于不熟悉此过程的人,只需要一个 .cpp 文件以及要在 VC++ 目录选项中定义的库和头文件。但是,每当我进行构建时,我都会收到此错误:
error LNK2019: unresolved external symbol "struct _XMMATRIX __cdecl NuiTransformMatrixLevel(struct __vector4)" (?NuiTransformMatrixLevel@@YA?AU_XMMATRIX@@U__vector4@@@Z) referenced in function GetPlaySpaceFrustum DLLProject.obj DLLProject
有问题的函数是通过我包含在 .cpp 文件中的 nuiapi.h 调用的。我的理解是,此错误通常发生在未链接库时,但由于 xbox 的所有库都链接在选项菜单的 VC++ 目录中,我认为我不会收到此错误。我应该得到这个错误还有另一个原因吗?
部分代码示例:
#ifdef _XBOX
#include <xtl.h>
#include <nuiapi.h>
#else
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#endif
#include <stdio.h>
extern "C" __declspec(dllexport)
void TestFunction(float GravX, float GravY, float GravZ, float GravW) {
XMVECTOR NormalToGravity = {GravX, GravY, GravZ, GravW};
XMMATRIX MatLevel = NuiTransformMatrixLevel(NormalToGravity);
}