问题标签 [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.
c++ - 在 GYP 项目中使用 c++11
我正在尝试使用 gyp 创建一个简单的跨平台 C++ 项目。目前我只是在 Mac 上尝试这个——但希望最终能够为 Windows、Linux、ios 和 android 构建它。这是我正在使用的简单 gyp 文件。我希望能够使用这个 gyp 中的 ninja 以及 xcode/msvc 项目。我知道我需要能够将
-std=c++11 和 -libstdc++ 添加到命令行以用于 clang,但现在我只看到使用 g++ 而不是 clang 生成的构建文件。
这是我的 gyp 文件。
node.js - module.js:485 process.dlopen(文件名,module.exports);
我在创建的节点本机插件上收到此错误。它在我的开发机器上运行良好,但在测试机器上中断。
在 c++ 代码中,我使用了一些 dll:
我正在使用 /clr 选项。有什么想法可能是什么问题?谢谢。
chromium - gyp中变量的范围是什么?
gyp文档记录了'variables'
这样的部分:
'variables':可以在文件的各个其他部分中插入和使用的变量的定义。
(强调我的)。这似乎排除了使用包含的 gyp 文件中的变量,也排除了包含其他设置变量的 gyp 文件的可能性。
这个对吗?这些变量的作用域是什么,如何全局设置变量?我看到在 Chromium 中,build/common.gypi
设置了很多变量,但 Chromium 也使用了gyp_chromium
不同于 plain 的魔法脚本gyp
。
precompiled-headers - 用于 xcode 的 Gyp 预编译头文件
如何使用 gyp 为 xcode 指定预编译头文件,特别是使用 clang 的 xcode 4.6。
我只看到视觉工作室选项。
chromium - 编译 Chromium 时,不会从 runhooks 生成 .sln 或 .vcporj 文件
所以我尝试我的第一个 Chrome 版本只是为了好玩,我已经通过 gclient 配置和同步获得了我想要的所有文件。但是,没有VS可以打开的项目文件,只是一堆对我没用的.gyp文件。
命令'gclient runhooks --force'应该为我生成sln文件,但是当我运行它时,我什么也没得到。甚至没有错误。
这是怎么回事?
谢谢。
python - 如何将带有模块的路径添加到python?
我尝试构建 V8 javascript 引擎。当我尝试调用命令python build/git_v8
时,出现错误:
我如何告诉 python 在哪里搜索 GYP 模块以及文件夹 GYP 中模块的正确路径是什么?
我的 python 版本是 2.6.2.2,在构建说明中推荐。
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
,一切都会很好地解析
难道我做错了什么?
windows - 无法安装 node-postgres node.js 模块
请注意:
显然,问题在于 libpq.lib 未链接,因此在链接构建步骤中缺少引用。
但我不明白为什么存在问题。
我已经直接使用配置目标运行 gyp:
我不知道我是否应该在那里看到它,但是在这个输出中根本没有对 postgres 的引用。
这是 binding.gyp 文件(我的操作系统是 Windows 7):
配置应该是成功的,因为:
还是有问题。
如何解决此问题?
c++ - 为 RTCDataChannel 文件共享编译 WebRTC 原生客户端 API
我正在尝试构建一个支持的命令行本机应用程序:
- 本地人 - 本地人
- 本机 - 浏览器
- 浏览器——浏览器
使用 WebRTC 数据通道进行文件共享。但是我似乎无法弄清楚如何使用本机 WebRTC c++ API(http://www.webrtc.org/reference/getting-started - 成功结束)。
我已经成功构建了示例 peerconnection_client 和 peerconnection_client(在 Linux 上),但是客户端在尝试共享视频时崩溃(我不担心,因为我只需要数据传输工作,而不是音频或视频)。但是我一直无法编译我自己的链接到 WebRTC 库的应用程序。
node.js - NodeJS 不稳定:无法 npm-install 需要编译的模块
我使用 NodeJS 0.11.x 发行版已经有一段时间了,主要是因为我相信生成器和yield
语句在异步可管理性方面带来了巨大的进步(参见coffy-script和suspend)。
也就是说,在运行前沿、不稳定的 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>
有更多的变化,但这两个影响每个原生插件。