2015-05-04 62 views
2

我是新來的C++/cli,並且想爲nvapi編寫一個小託管包裝器。
試圖訪問某些功能(例如NvAPI_Initialize)
Visual Studio中告訴我,這個函數沒有定義現在,當:NvAPI NVAPI_INTERFACE缺少顯式類型

#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(返回== NVAPI_OK)NvAPI_Status __cdecl'

回答

3

找到自己的答案。 看來必須添加

#include <Windows.h> 

to nvapi.h。