问题标签 [gyp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
6777 浏览

c++ - 在 GYP 项目中使用 c++11

我正在尝试使用 gyp 创建一个简单的跨平台 C++ 项目。目前我只是在 Mac 上尝试这个——但希望最终能够为 Windows、Linux、ios 和 android 构建它。这是我正在使用的简单 gyp 文件。我希望能够使用这个 gyp 中的 ninja 以及 xcode/msvc 项目。我知道我需要能够将
-std=c++11 和 -libstdc++ 添加到命令行以用于 clang,但现在我只看到使用 g++ 而不是 clang 生成的构建文件。

这是我的 gyp 文件。

0 投票
2 回答
4149 浏览

node.js - module.js:485 process.dlopen(文件名,module.exports);

我在创建的节点本机插件上收到此错误。它在我的开发机器上运行良好,但在测试机器上中断。

在 c++ 代码中,我使用了一些 dll:

我正在使用 /clr 选项。有什么想法可能是什么问题?谢谢。

0 投票
1 回答
1631 浏览

chromium - gyp中变量的范围是什么?

gyp文档记录了'variables'这样的部分:

'variables':可以在文件的各个其他部分中插入和使用的变量的定义。

(强调我的)。这似乎排除了使用包含的 gyp 文件中的变量,也排除了包含其他设置变量的 gyp 文件的可能性。

这个对吗?这些变量的作用域是什么,如何全局设置变量?我看到在 Chromium 中,build/common.gypi设置了很多变量,但 Chromium 也使用了gyp_chromium不同于 plain 的魔法脚本gyp

0 投票
1 回答
643 浏览

precompiled-headers - 用于 xcode 的 Gyp 预编译头文件

如何使用 gyp 为 xcode 指定预编译头文件,特别是使用 clang 的 xcode 4.6。

我只看到视觉工作室选项。

0 投票
2 回答
2069 浏览

chromium - 编译 Chromium 时,不会从 runhooks 生成 .sln 或 .vcporj 文件

所以我尝试我的第一个 Chrome 版本只是为了好玩,我已经通过 gclient 配置和同步获得了我想要的所有文件。但是,没有VS可以打开的项目文件,只是一堆对我没用的.gyp文件。

命令'gclient runhooks --force'应该为我生成sln文件,但是当我运行它时,我什么也没得到。甚至没有错误。

这是怎么回事?

谢谢。

0 投票
5 回答
10463 浏览

python - 如何将带有模块的路径添加到python?

我尝试构建 V8 javascript 引擎。当我尝试调用命令python build/git_v8时,出现错误:

我如何告诉 python 在哪里搜索 GYP 模块以及文件夹 GYP 中模块的正确路径是什么?

我的 python 版本是 2.6.2.2,在构建说明中推荐。

0 投票
1 回答
804 浏览

c++ - 如何将 GYP 目标移动到单独的包含文件

我希望许多 gyp 脚本有一个共同的目标。所以我决定把它移到一个单独的包含文件中。产生错误的最简单的测试用例:

foo.gyp

酒吧.gypi

产生错误:

IndexError: string index out of range while reading include of foo.gyp while try to load foo.gyp

一些观察:

  • 如果我从目标中删除actions,一切都会很好地解析

  • 如果我targets(通过动作)移动到foo.gyp,一切都会很好地解析

难道我做错了什么?

0 投票
1 回答
1149 浏览

windows - 无法安装 node-postgres node.js 模块

请注意:

显然,问题在于 libpq.lib 未链接,因此在链接构建步骤中缺少引用。

但我不明白为什么存在问题。

我已经直接使用配置目标运行 gyp:

我不知道我是否应该在那里看到它,但是在这个输出中根本没有对 postgres 的引用。

这是 binding.gyp 文件(我的操作系统是 Windows 7):

配置应该是成功的,因为:

还是有问题。

如何解决此问题?

0 投票
0 回答
1983 浏览

c++ - 为 RTCDataChannel 文件共享编译 WebRTC 原生客户端 API

我正在尝试构建一个支持的命令行本机应用程序:

  • 本地人 - 本地人
  • 本机 - 浏览器
  • 浏览器——浏览器

使用 WebRTC 数据通道进行文件共享。但是我似乎无法弄清楚如何使用本机 WebRTC c++ API(http://www.webrtc.org/reference/getting-started - 成功结束)。

我已经成功构建了示例 peerconnection_client 和 peerconnection_client(在 Linux 上),但是客户端在尝试共享视频时崩溃(我不担心,因为我只需要数据传输工作,而不是音频或视频)。但是我一直无法编译我自己的链接到 WebRTC 库的应用程序。

0 投票
1 回答
1077 浏览

node.js - NodeJS 不稳定:无法 npm-install 需要编译的模块

我使用 NodeJS 0.11.x 发行版已经有一段时间了,主要是因为我相信生成器和yield语句在异步可管理性方面带来了巨大的进步(参见coffy-scriptsuspend)。

也就是说,在运行前沿、不稳定的 NodeJS 安装时会遇到严重的挫折:当尝试编译任何 C 组件时npm install xy-module,会失败(总是?有时?)。gyp

有一个普遍的原因吗?有什么技巧/补丁/配置我可以应用来纠正这种情况吗?如果给定的模块确实在 NodeJS 0.10.x 上编译,但在 0.11.x 上失败,我是否应该期望它在 0.12.x 可用时立即编译?

更新我在 NodeJS 邮件列表上交叉发布了这个问题,并且ben noordhuis 很友好地分享了一些细节。引用他的信息:

两个主要变化如下:

  • Persistent<T>不再源自Handle<T>. 要从 Persistent 重新创建句柄,请调用Local<T>::New(isolate, persistent). 您可以使用以下方法获得隔离Isolate::GetCurrent()(但请注意, Isolate::GetCurrent()在较新版本的 V8 中可能会消失。)

  • C++ 回调和访问器的原型已经改变。之前,您的函数如下所示:

    在 v0.11 和 v0.12 中,变为:

    /li>

有更多的变化,但这两个影响每个原生插件。