我是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
}
我已经按照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'