0

我正在尝试在 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 来做我想做的事情?如果是,如何?如果不是,哪些工具更适合?

4

0 回答 0