我是 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,如 here 所述.
附加 VS 告诉我,例如
NVAPI_INTERFACE NvAPI_Initialize();
NVAPI_INTERFACE 缺少显式类型,将假定为“int”。
尝试构建我的代码时,此消息变成 C2059:语法错误“返回”,VS 在出现 100 个错误后取消构建。
我正在使用 VS 2013 Pro。
编辑: NVAPI_INTERFACE 定义如下:
'#define NVAPI_INTERFACE extern __success(return == NVAPI_OK) NvAPI_Status __cdecl'
最佳答案
我自己找到了答案。 看来还得补充一下
#include <Windows.h>
到 nvapi.h。
关于c++ - NvAPI NVAPI_INTERFACE 缺少显式类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30030311/