C1083: Cannot open include file: 'napi.h': No such file or directory

未关闭
#183 4 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
42/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
cpp, node.js
领域
build-system

调研方向

Start with the include and include_dir definitions in index.js and the example binding configuration shown in the issue. Reproduce the napi.h lookup on Windows and WSL, then verify that the chosen include path resolves napi.h correctly on both platforms.

由索引模型根据 Issue 内容生成。

描述

I get an error about not being able to find napi.h on Windows.

This only occurs when I use "include_dirs": ["<!@(node -p \"require('node-addon-api').include_dir\")"] versus "include_dirs": ["<!@(node -p \"require('node-addon-api').include\")"] (I was trying to use the former because in the index.js file it says the latter is deprecated.

The only difference I noticed is that inside the in the index.js file in the repo we have the include path in escaped quotes.

I've tried doing this as an experiment in another bindings repo and I found if I add the quotes to the include path it works versus without.

include: `"${__dirname}"`

versus

 include: `${__dirname}`

(The second one gives the error)

[Edit]: I just tried this on Linux (using WSL) and seems like I have the inverse problem...

fatal error: napi.h: No such file or directory
    4 | #include "napi.h"
      |          ^~~~~~~~
compilation terminated.
主要语言
C++
星标
2.6k
派生
598
PR 合并指标
30 天内没有已合并 PR

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

nodejs/node-addon-examples 的其他 Issue

查看 nodejs/node-addon-examples 的全部 Issue

相似的 Issue

更多 C++ Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。