Я пытаюсь написать простой код для получения некоторой информации от моего графического процессора (NVidia Geforce 760 GTX), такой как температура, используя NVAPI.
Я начал с примерами кодов CUDA. Возможно, вы видите эти примеры кодов, предоставленные NVidia. Я скопировал один из примеров кодов (‘CUDA Samples \ v6.5 \ 0_Simple \ vectorAdd’), чтобы написать в этом примере. Я скопировал все файлы «.h» NVAPI в «Образцы CUDA \ v6.5 \ common \ inc» и скопировал «nvapi.lib» в «Образцы CUDA \ v6.5 \ common \ lib \ Win32» и скопировал «nvapi64». .lib ‘to’ Образцы CUDA \ 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_GPU_GetThermalSettings, указанный в функции …
Ошибка 29 ошибка LNK2019: неразрешенный внешний символ NvAPI_GPU_GetFullName, указанный в функции …
и некоторые похожие ошибки.
Вам нужно перейти в свойства вашего проекта и развернуть опцию компоновщика -> Ввод и добавить требуемый файл nvapi * .lib в опцию Дополнительные зависимости.