none
vc2008中无法使用SetupApi RRS feed

  • 问题

  • 现在使用vs2008,在#include <SetupAPI.h>之后会出现如下的编译错误,在vc2008中如何使用SetupAPI呢?

    >C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\SetupAPI.h(4638) : error C2143: 语法错误 : 缺少“)”(在“字符串”的前面)
    1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\SetupAPI.h(4638) : error C2143: 语法错误 : 缺少“;”(在“字符串”的前面)
    1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\SetupAPI.h(4640) : error C2059: 语法错误 : “)”
    1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\SetupAPI.h(4646) : error C2143: 语法错误 : 缺少“)”(在“字符串”的前面)
    1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\SetupAPI.h(4646) : error C2143: 语法错误 : 缺少“;”(在“字符串”的前面)
    1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\SetupAPI.h(4648) : error C2059: 语法错误 : “)”

    2019年10月8日 9:35

答案

全部回复

  • 你好,

    感谢你在这里发帖。

    请在头文件包含之后添加以下语句包含库文件。

    #pragma comment (lib, "setupapi.lib")

    Best Regards,

    Suarez Zhou

    2019年10月9日 1:09
  • 你好

    #pragma comment (lib, "setupapi.lib")

    该库已添加,还是会出现相同的错误。

    1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\SetupAPI.h(4638) : error C2143: 语法错误 : 缺少“)”(在“字符串”的前面)
    1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\SetupAPI.h(4638) : error C2143: 语法错误 : 缺少“;”(在“字符串”的前面)
    1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\SetupAPI.h(4640) : error C2059: 语法错误 : “)”
    1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\SetupAPI.h(4646) : error C2143: 语法错误 : 缺少“)”(在“字符串”的前面)
    1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\SetupAPI.h(4646) : error C2143: 语法错误 : 缺少“;”(在“字符串”的前面)
    1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\SetupAPI.h(4648) : error C2059: 语法错误 : “)”

    网上有人说包含#include <windows.h>可以解决,我这边也包含了该头文件,该错误依然存在,不知道什么原因。

    2019年10月9日 1:34
  • 你好,

    顺序是有要求的,#include <windows.h>需要在#include <SetupAPI.h>之前被包含,因为SetupAPI.h里的语法报错基本是基于windows.h的,所以需要先被包含。

    Best Regards,

    Suarez Zhou



    2019年10月9日 1:42
  • 你好

    #include <windows.h>需要在#include <SetupAPI.h>之前被包含,问题解决了,谢谢!

    2019年10月9日 3:08
  • 你好,

    如果你的问题解决了,请标记正确的回复为答案,这会帮助其他社区成员更快地找到解决方案。

    Best Regards,

    Suarez Zhou

    2019年10月9日 3:23