C++ 错误LNK2019:中引用了未解析的外部符号NvAPI_GPU_GetThermalSettings

C++ 错误LNK2019:中引用了未解析的外部符号NvAPI_GPU_GetThermalSettings,c++,linker-errors,lnk2019,nvapi,C++,Linker Errors,Lnk2019,Nvapi,我正在尝试编写一个简单的代码,用于从我的GPU(NVidia Geforce 760 GTX)获取一些信息,例如使用NVAPI 我从CUDA示例代码开始。也许您会看到NVidia提供的这些示例代码。我复制了一个示例代码('CUDA Samples\v6.5\0\u Simple\vectorAdd')来编写此示例。我将NVAPI的所有“.h”文件复制到“CUDA Samples\v6.5\common\inc”,并将“NVAPI.lib”复制到“CUDA Samples\v6.5\common\

我正在尝试编写一个简单的代码,用于从我的GPU(NVidia Geforce 760 GTX)获取一些信息,例如使用NVAPI
我从CUDA示例代码开始。也许您会看到NVidia提供的这些示例代码。我复制了一个示例代码('CUDA Samples\v6.5\0\u Simple\vectorAdd')来编写此示例。我将NVAPI的所有“.h”文件复制到“CUDA Samples\v6.5\common\inc”,并将“NVAPI.lib”复制到“CUDA Samples\v6.5\common\lib\Win32”,将“nvapi64.lib”复制到“CUDA Samples\v6.5\common\lib\x64”。
我已将这些副本预格式化为“C:\Program Files\CUDA\v6.5\include”和“C:\Program Files\CUDA\v6.5\lib”。
这是我写的代码:

int _txmain() {

NvAPI_Status ret = NVAPI_OK;
int i=0;

NvDisplayHandle hDisplay_a[NVAPI_MAX_PHYSICAL_GPUS*2] = {0};

ret = NvAPI_Initialize();

if (!ret == NVAPI_OK){
    NvAPI_ShortString string;
    NvAPI_GetErrorMessage(ret, string);
    printf("NVAPI NvAPI_Initialize: %s\n", string);
}

NvAPI_ShortString ver;

NvAPI_GetInterfaceVersionString(ver);
printf("NVAPI Version: %s\n", ver);

NvU32 cnt;

NvPhysicalGpuHandle phys;

ret = NvAPI_EnumPhysicalGPUs(&phys, &cnt);

if (!ret == NVAPI_OK){
    NvAPI_ShortString string;
    NvAPI_GetErrorMessage(ret, string);
    printf("NVAPI NvAPI_EnumPhysicalGPUs: %s\n", string);
}

NvAPI_ShortString name;

NV_GPU_THERMAL_SETTINGS thermal;

ret = NvAPI_GPU_GetFullName(phys, name);
if (!ret == NVAPI_OK){
    NvAPI_ShortString string;
    NvAPI_GetErrorMessage(ret, string);
    printf("NVAPI NvAPI_GPU_GetFullName: %s\n", string);
}

printf("Name: %s\n", name);
thermal.version =NV_GPU_THERMAL_SETTINGS_VER;
ret = NvAPI_GPU_GetThermalSettings(phys,0, &thermal);

if (!ret == NVAPI_OK){
    NvAPI_ShortString string;
    NvAPI_GetErrorMessage(ret, string);
    printf("NVAPI NvAPI_GPU_GetThermalSettings: %s\n", string);
}

printf("Temp: %l C\n", thermal.sensor[0].currentTemp);

return 0;
}

但当我构建代码时,我收到了以下错误:

错误28错误LNK2019:函数中引用的未解析外部符号NvAPI\U GPU\U获取热设置…
错误29错误LNK2019:函数中引用了未解析的外部符号NvAPI\U GPU\U GetFullName…
还有一些类似的错误


您需要转到项目属性并展开链接器选项->输入并在附加依赖项选项中添加所需的nvapi*.lib文件。

这是链接器错误,您没有添加一些NVidia库。尽管您使用了CUDA示例代码,但问题与CUDA无关。NVAPI不是CUDA API,您报告的所有问题都与NVAPI有关,而不是与CUDA有关。正如我前面提到的,我复制了所有的.h文件以包括CUDA目录。因此,如果需要一个.h文件,应该在这些目录中找到它。您的问题与.h文件无关。这是一个链接器问题。您需要将nvapi.lib或nvapi64.lib正确链接到项目中。这不仅仅是将文件从一个地方复制到另一个地方。研究VisualStudio中的链接器规范。