0

我正在尝试让我的 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);

}

4

1 回答 1

1

现在问题已经解决了。必须在为 Unity 设置开发环境的位置(通过代码)链接有问题的库,并将库添加到链接器的附加依赖项。

于 2012-07-16T19:24:56.103 回答