You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go语言WebView项目编译报错:EventToken.h文件缺失及includePath配置问题求助

Go语言WebView项目编译报错:EventToken.h文件缺失及includePath配置问题求助

嘿,我之前折腾webview_go的时候也碰到过几乎一模一样的报错,给你几个亲测有效的排查和解决方向,你可以挨个试试:

首先得搞懂这个报错的根源:WebView2.h里用到了EventToken.h,这个头文件属于Windows Runtime的系统头文件,咱们用的MinGW默认没把它的路径加入搜索列表,再加上webview_go自带的WebView2头文件路径可能没被IDE或编译器识别,就触发了这个提示。

  • 第一步:先找到系统里的EventToken.h在哪里
    这个文件一般藏在Windows Kits的目录里,比如我电脑上的路径是C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\winrt,你可以在C盘搜索EventToken.h,找到你自己电脑上的准确路径,版本号(比如10.0.22621.0)会根据你的Windows系统版本不同而变化。

  • 第二步:给VS Code的语法检查配置includePath
    报错里提到的“squiggles are disabled”是VS Code的C/C++插件提示的,咱们得把缺失的头文件路径添进去:

    1. 打开VS Code的设置(快捷键Ctrl+,)
    2. 搜索C_Cpp: Include Path,点击「编辑 in settings.json」
    3. 把刚才找到的Windows Kits的winrt路径,还有webview_go里WebView2头文件的路径加进去,比如:
      "C_Cpp.default.includePath": [
          "${workspaceFolder}/**",
          "C:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/winrt",
          "${GOPATH}/pkg/mod/github.com/webview/webview_go@v0.0.0-20240831120633-6173450d4dd6/libs/mswebview2/include"
      ]
      

    保存之后,IDE的红色波浪线应该就会消失了。

  • 第三步:编译时给CGO指定头文件路径
    有时候IDE的语法检查没问题了,但编译还是报错,这时候得在go build的时候通过CGO_CFLAGS告诉编译器去哪找头文件,比如:

    CGO_CFLAGS="-IC:/Program Files (x86)/Windows Kits/10/Include/10.0.22621.0/winrt -I${GOPATH}/pkg/mod/github.com/webview/webview_go@v0.0.0-20240831120633-6173450d4dd6/libs/mswebview2/include" go build
    

    记得把路径里的版本号换成你自己找到的那个,${GOPATH}如果你的环境变量没配置,就换成你本地的GOPATH绝对路径,比如C:/Users/myuser/go。

  • 额外小提示:检查MinGW版本
    你用的tdm64-1的GCC 10.3.0其实没问题,但如果上面的方法都不管用,可以试试换成MinGW-w64的最新稳定版,它对Windows系统头文件的支持会更完善一些。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 13:43:11