Я новичок в c ++ / cli и хотел бы написать небольшую управляемую оболочку для nvapi.
Теперь при попытке доступа к некоторым функциям (например, NvAPI_Initialize)
Visual Studio говорит мне, что эта функция не определена:
#include "nvapi.h";
NvAPIStatus Nv_GPU_ThermalAPI::M_NvAPI_GPU_GetThermalSettings(System::UIntPtr gpuHandle,
Nv_Thermal_Target sensorIndex,
[Out] array<Nv_GPU_Thermal_Settings^>^% settings)
{
NvAPI_Status res = NvAPI_Status::NVAPI_OK; // OK
NvPhysicalGpuHandle handle; // OK
NV_GPU_THERMAL_SETTINGS *settings; // OK
res = NvAPI_Initialize(); // Error
res = NvAPI_GPU_GetThermalStatus(handle, 0, settings); // same here
}
Я включил nvapi.lib, как описано Вот.
Дополнительный VS говорит мне, что, например,
NVAPI_INTERFACE NvAPI_Initialize();
В NVAPI_INTERFACE отсутствует явный тип, и предполагается, что int.
При попытке создать мой код это сообщение превращается в C2059: синтаксическая ошибка «return» и VS отменяет сборку после 100 ошибок.
Я использую VS 2013 Pro.
Редактировать: NVAPI_INTERFACE определяется следующим образом:
‘#define NVAPI_INTERFACE extern __success (return == NVAPI_OK) NvAPI_Status __cdecl’
Нашел ответ сам.
Кажется, нужно добавить
#include <Windows.h>
нава.х.