错误LNK2019 VS2008的未解析外部符号 - Unity插件

时间:2012-07-16 18:14:05

标签: visual-c++ linker unity3d kinect xbox360

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

}

1 个答案:

答案 0 :(得分:1)

此问题现已解决。不得不在为Unity设置开发环境的位置(通过代码)链接有问题的库,以及将库添加到链接器的附加依赖项。