我正在尝试让我的插件让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
有问题的函数是通过nuiapi.h调用的,我已将其包含在.cpp文件中。我的理解是,这个错误通常发生在没有链接库但由于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);
}
答案 0 :(得分:1)
此问题现已解决。不得不在为Unity设置开发环境的位置(通过代码)链接有问题的库,以及将库添加到链接器的附加依赖项。