问题标签 [ninja]

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 投票
2 回答
2185 浏览

c++ - 使用 ninja 和 clang++ 时 vim 中的快速修复列表

我有一个使用 ninja 和 clang++ 编译的 C++ 项目,并且希望在编译过程中出现错误出现在 quickfix 列表中。目前,当我设置makeprg=ninja,然后运行:make时,ninja生成的所有输出都只是出现在quickfix窗口中,不能用于跳转到相应的文件/行等。

我不是在寻找syntastic提供的功能(我已经在使用),但我也想查看项目中其他文件的错误,类似于 IDE 提供的功能。

如果这不能(很容易)用 ninja 完成,也欢迎使用 make 的解决方案(该项目使用 cmake,所以两者都是可能的),但如果可能的话,我想留在 ninja。

0 投票
1 回答
2623 浏览

visual-studio - Jenkins Visual Studio x64 提示符(用于 CMake 和 Ninja)

我有一个使用 Visual Studio 2012 的 Jenkins 从站,并且想为 x64 构建。我需要的是在 Windows 开始菜单中运行工具提示链接时得到的提示环境。人们建议这样做(在 Jenkins Windows Batch 提示中):

但这还不够。PATH,LIB和环境变量之间存在细微差别LIBPATH:其中的路径仅指向 x32 路径,例如指向

代替

事实上,我正在尝试使用来自 CMake 的 Ninja 生成器进行构建,其中构建配置由提示环境确定。

0 投票
1 回答
1248 浏览

c# - 需要 Mono 内置的 ChromeDriver

我正在使用 C# WebDriver 来自动化 Web 应用程序。一切都是针对 Windows 编写的。但现在也需要为 Mac 做好准备。Selenium webdriver 使用 ChromeDriver.exe 启动 Chrome。这个 exe 可以在 Windows 中使用 C# Process 类启动;但不是在 Mac 中使用 Mono 中的相同类。解决方案似乎是在 Mono 中构建 ChromeDriver。我从 github 获得了 ChromeDriver 源代码。但是很难建立相同的。问题陈述是:如何用 Mono 构建 ChromeDriver.exe。我正在使用 Xamarin Studio(这是我在 Mac 上使用 C# 开发的开发 IDE)。所以我的目标是在 Xamarin Studio 中加载 ChromeDriver 源并构建它。但是当我拉取 ChromeDriver 的源代码时,我看到了几个没有任何项目文件的 C 文件,如 *.vcxproj。搜索这个主题,我发现它可以使用 Ninja 构建。有一些命令“ninja -C out\Release chromedriver”可以为我做这件事。所以我从 github 获取了 Ninja 的源代码。但是当我尝试运行构建命令时,它会抱怨/发布文件或目录不存在。它确实不存在于我获取 Ninja 的文件夹中。我拥有的唯一信息是,一旦我生成 Ninja 文件,out 文件夹就会在那里。但是我完全不知道如何去做或者它的先决条件是什么。回到我需要它的原因:在 selenium webdriver 代码中,ChromeDriver 是使用 C# 进程类启动的。所以我从 github 获取了 Ninja 的源代码。但是当我尝试运行构建命令时,它会抱怨/发布文件或目录不存在。它确实不存在于我获取 Ninja 的文件夹中。我拥有的唯一信息是,一旦我生成 Ninja 文件,out 文件夹就会在那里。但是我完全不知道如何去做或者它的先决条件是什么。回到我需要它的原因:在 selenium webdriver 代码中,ChromeDriver 是使用 C# 进程类启动的。所以我从 github 获取了 Ninja 的源代码。但是当我尝试运行构建命令时,它会抱怨/发布文件或目录不存在。它确实不存在于我获取 Ninja 的文件夹中。我拥有的唯一信息是,一旦我生成 Ninja 文件,out 文件夹就会在那里。但是我完全不知道如何去做或者它的先决条件是什么。回到我需要它的原因:在 selenium webdriver 代码中,ChromeDriver 是使用 C# 进程类启动的。但是我完全不知道如何去做或者它的先决条件是什么。回到我需要它的原因:在 selenium webdriver 代码中,ChromeDriver 是使用 C# 进程类启动的。但是我完全不知道如何去做或者它的先决条件是什么。回到我需要它的原因:在 selenium webdriver 代码中,ChromeDriver 是使用 C# 进程类启动的。

此 C# 代码片段适用于 Windows,但不适用于 Mac。我使用 Xamarin Studio 来调试它。我在 p.start() 行得到的错误是“没有进程附加到对象 p”。接下来,我在 Mac 上使用 Xamarin Studio 在 C# 中构建了一个简单的控制台应用程序;即输出 exe 是用 Mono 框架构建的。我在上面的代码中使用了这个 exe 的路径而不是 ChromeDriver。并且 p.Start() 成功执行,没有错误。

因此,问题归结为 ChromeDriver.exe 的 Mono 版本。在 chromedriver 的网站上,他们有适用于 Windows 的 ChromeDriver.exe,适用于 Mac 的 ChromeDriver.dmg,但没有 Mono 版本。我正在寻找以下 3 个解决方案中的任何一个: 1. 如果使用 Mono 构建的 ChromeDriver.exe 已经上传到某个地方,那就没有比这更好的了。2. 我可以尝试使用 Mono 构建 ChromeDriver 源代码(https://github.com/scheib/chromium/tree/master/chrome/test/chromedriver)的步骤。3. 完全跳过构建它并找到其他方法在 Mac 中启动 ChromeDriver.exe。

在过去的几天里,我对所有这些都摸不着头脑:(。任何帮助将不胜感激!如果需要更多信息,请告诉我。请帮助..

在此先感谢,德布

0 投票
2 回答
13788 浏览

c++ - 使用 CMake、Clang 和 Ninja 在 Windows 上构建 c++ 项目

我目前在 Windows 上安装了 cmake、clang 和 ninja。我正在尝试使用 CMake 生成一个 ninja 构建文件来编译一个非常简单的 hello world 程序。

我的 CMakeLists.txt 看起来像这样:

main.cpp是一个简单的 hello world 程序。

在命令行上我运行这个:cmake -G Ninja ..我得到以下错误:

CMakeError.log文件如下所示:

似乎 cmake 正在尝试使用 windows 选项/nologo/showIncludes. 我不知道如何告诉 cmake 传递正确的参数。

FWIW 我正在运行 64 位 Windows 7

编辑:

因此,我查看了内置的 cmake 文件,发现该CMakeClDeps.cmake文件是添加/nologo /showIncludes选项的罪魁祸首。看来,如果我将 Clang 设置为编译器,则 cmake 认为 Visual Studio 是编译器(它将 MSVC_C_ARCHITECTURE_ID 设置为 x86)。

我删除了CMakeDetermineCompilerId.cmake该组中的行,MSVC_C_ARCHITECTURE_ID再次尝试后出现以下错误:

0 投票
2 回答
298 浏览

node.js - 忍者和 npm_executable-notfound

尝试从源代码构建Tangelo(这是第一次),我可以使用 Git Bash 和 ninja 完成 90% 的过程,但过程的最后部分不起作用。

将 cd 放入我的构建目录~/tangelo/buildninja使用 GitBash 运行,我收到以下错误:

我从这里安装了 Windows 节点(env var 设置为C:\nodejsnode.exe 所在的位置),重新启动后可以安装在上面的代码中显示错误的包(uglify-js 和 phantomjs)

问题是:任何想法如何让忍者理解我的节点/npm 安装?

0 投票
1 回答
317 浏览

javascript - 试图从书 javascript Ninja 中理解 javascript 代码

从下面的例子中,我想我理解了所有的代码,除了我无法理解为什么需要 this.assert 和 this.test ?没有它们,这段代码就不能忍受吗?

这是来自javascript忍者的秘密一书

0 投票
1 回答
4678 浏览

visual-studio-2013 - VS2013中使用ninja构建WebRTC并调试

我正在尝试在 VS2013 中构建和调试最新版本的 WebRTC。从 VS2013 内部构建失败,尽管直接使用 ninja(例如,ninja -C out\Debug)可以正常工作。理想情况下,我想在 VS2013 中编辑、开始构建和调试:

如果你做了VS2013的系统安装,你可以用它来编辑和调试。ninja 仍将使用 depot_tools 版本进行构建。这是首选,因为它会随着构建需求的变化而自动保持最新。

我已按照此处描述的步骤进行操作:

我有这个环境变量集:

我已经运行了以下命令:

(在命令结束时,我收到一些“警告:转换为 MSBuild 时无法识别工具 MASM。 ”警告)

更新:如果我删除 GYP_GENERATORS 设置并再次运行“gclient runhooks”,这些警告就会消失。

然后我在 VS2013 中打开“C:\dev\webrtc\trunk\all.sln”并尝试重建“peerconnection_client”项目。但它失败并出现以下错误:

“C:\dev\webrtc\trunk\talk\ninja”文件夹不存在,但我的“build.ninja”文件位于我的每个 C:\dev\webrtc\trunk\out(Debug | Debug_x64 | Release | Release_x64) .

你知道我做错了什么吗?

0 投票
2 回答
1031 浏览

webrtc - 在没有 LTO 的情况下构建 Chromium、WebRTC

我在 Arch Linux x86_64 上,尝试构建 WebRTC 库。执行此操作时出现编译错误:

链接时间优化似乎存在问题。但是,我无法弄清楚如何在不启用 LTO 的情况下构建 WebRTC。如果我手动运行失败的命令并 append -fno-lto,则链接正常。如何在gyp配置中添加或更改编译器/链接器标志,以便将其应用于所有内容?

0 投票
0 回答
2180 浏览

webrtc - 谷歌 WebRTC。'out/Release/' - 没有这样的目录

我尝试在这篇文章http://www.medooze.com/products/media-mixer-server/installation.aspx上构建所需的库 Google WebRTC

我已经做好了:

错误:

请帮助解决此错误。

0 投票
1 回答
2768 浏览

cmake - CMake command line arguments in a Ninja build

I am trying to use Ninja + CMake to build a project.

This project has a custom target that takes additional arguments.

E.g. make target option=value

It works fine in make, however I am not sure how to get Ninja to take in additional command line arguments. Is this possible with a Ninja build?