我正在尝试在 Visual Studio 2019 中编译和使用NVAPI,但是我似乎遇到了 C(++) 版本或配置的问题。
由于 Nvidia 许可协议,我不认为我被允许分发我的项目的完整代码,但我会尽量提供尽可能多的细节。代码可以从上面的链接下载。
这是解决方案资源管理器:
它基本上是添加了我自己的程序的 NVAPI 代码,NVAPI-helloworld.cpp
如下所示:
#include <iostream>
#include "nvapi.h"
int main()
{
NvAPI_Status ret = NVAPI_OK;
ret = NvAPI_Initialize();
if (ret != NVAPI_OK)
{
std::cout << "NvAPI_Initialize() failed = " << ret;
return 1; // Initialization failed
}
std::cout << "NvAPI_Initialize() done";
}
最初,该项目不会构建,因为 NvU32 在 NvApiDriverSettings.h 中是未知的。An#include "nvapi.h"
似乎已经解决了这个问题。
但是,现在我遇到了以下问题nvapi.h
:
1>C:\dev\NVAPI-helloworld\NVAPI-helloworld\nvapi.h(97,1): error C2143: syntax error: missing ')' before 'return'
1>C:\dev\NVAPI-helloworld\NVAPI-helloworld\nvapi.h(97,1): error C2143: syntax error: missing '{' before 'return'
1>C:\dev\NVAPI-helloworld\NVAPI-helloworld\nvapi.h(97,1): error C2059: syntax error: 'return'
1>C:\dev\NVAPI-helloworld\NVAPI-helloworld\nvapi.h(97,1): error C2059: syntax error: ')'
1>C:\dev\NVAPI-helloworld\NVAPI-helloworld\nvapi.h(127,1): error C2143: syntax error: missing ')' before 'return'
1>C:\dev\NVAPI-helloworld\NVAPI-helloworld\nvapi.h(127,1): error C2143: syntax error: missing '{' before 'return'
1>C:\dev\NVAPI-helloworld\NVAPI-helloworld\nvapi.h(127,1): error C2059: syntax error: 'return'
... and many more
中的违规代码nvapi.h
如下所示:
NVAPI_INTERFACE NvAPI_Initialize();
我认为这可能是某种 C/C++ 版本冲突。也许我正在使用错误的编译器进行编译?但我不知道,谷歌搜索这个问题似乎并没有让我走得更远。
那么,是否可以配置 Visual Studio 2019 来做我想做的事情?如果是,如何?如果不是,哪些工具更适合?