问题标签 [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 投票
0 回答
712 浏览

linux - 在 Linux 上使用 ninja 构建 Chromium 的问题

我目前正在尝试使用 Ninja 在 Ubuntu 14.10 上构建 Chromium。到目前为止,我遇到了一些问题,我已经能够解决,但是我遇到了这个问题。我处于建设状态。

忍者:进入目录 `out/Release' [3/18153] CC obj/third_party/flac/src/libFLAC/libflac.float.o 失败:../../third_party/llvm-build/Release+Asserts/bin/铿锵 -MMD -MF
obj/third_party/flac/src/libFLAC/libflac.float.o。d -DV8_DEPRECATION_WARNINGS -D_FILE_OFFSET_BITS=64 -DCHROMIUM_BUILD -DCR_CLANG_REVISION=223108 -DCOMPONENT_BUILD -DTOOLKIT_VIEWS=1 -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_ASH=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 - DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DUSE_UDEV -DDONT_EMBED_BUILD_METADATA -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 - DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1-DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DFLAC__NO_DLL -DFLAC__OVERFLOW_DETECT '-DVERSION="1.2.1"' -DUSE_LIBPCI=1 -DUSE_GLIB=1 -DUSE_NSS=1 -DNENDGRIDABLE =0 -Igen -I../../third_party/flac/include -I../../third_party/flac/src/libFLAC/include -fstack-protector --param=ssp-buffer-size=4 - Werror -pthread -fno-strict-aliasing -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wno-reserved-user-defined-literal -Xclang -load -Xclang /home/ florent/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs。所以 -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-weak-ptr-factory-order -Xclang -plugin-arg-find-bad-constructs - Xclang strict-virtual-specifiers -momit-leaf-frame-pointer -mstack-alignment=16 -mstackrealign -fcolor-diagnostics -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch -default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -Wno-conversion -Wno-format -Wno-unused-result -msse2 -mfpmath=sse - mmmx -m32 -O2 -fno-ident -fdata-sections -ffunction-sections -funwind-tables -c ../../third_party/flac/src/libFLAC/float.c -o obj/third_party/flac/src/ libFLAC/libflac.float.o ../../third_party/llvm-build/Release+Asserts/bin/clang: 1: ../../third_party/llvm-build/Release+Asserts/bin/clang:语法错误:“)”意外 [3/18153] CC obj/third_party/flac/src/libFLAC/libflac.format.o 失败:../.. /third_party/llvm-build/Release+Asserts/bin/clang -MMD -MF obj/third_party/flac/src/libFLAC/libflac.format.o。d -DV8_DEPRECATION_WARNINGS -D_FILE_OFFSET_BITS=64 -DCHROMIUM_BUILD -DCR_CLANG_REVISION=223108 -DCOMPONENT_BUILD -DTOOLKIT_VIEWS=1 -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_ASH=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 - DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DUSE_UDEV -DDONT_EMBED_BUILD_METADATA -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 - DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1-DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DFLAC__NO_DLL -DFLAC__OVERFLOW_DETECT '-DVERSION="1.2.1"' -DUSE_LIBPCI=1 -DUSE_GLIB=1 -DUSE_NSS=1 -DNENDGRIDABLE =0 -Igen -I../../third_party/flac/include -I../../third_party/flac/src/libFLAC/include -fstack-protector --param=ssp-buffer-size=4 - Werror -pthread -fno-strict-aliasing -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wno-reserved-user-defined-literal -Xclang -load -Xclang /home/ florent/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs。所以 -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-weak-ptr-factory-order -Xclang -plugin-arg-find-bad-constructs - Xclang strict-virtual-specifiers -momit-leaf-frame-pointer -mstack-alignment=16 -mstackrealign -fcolor-diagnostics -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch -default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -Wno-conversion -Wno-format -Wno-unused-result -msse2 -mfpmath=sse - mmmx -m32 -O2 -fno-ident -fdata-sections -ffunction-sections -funwind-tables -c ../../third_party/flac/src/libFLAC/format.c -o obj/third_party/flac/src/ libFLAC/libflac.format.o ../../third_party/llvm-build/Release+Asserts/bin/clang: 1: ../../third_party/llvm-build/Release+Asserts/bin/clang:语法错误:“)”意外 [3/18153] CC obj/third_party/flac/src/libFLAC/libflac.bitmath.o 失败:../.. /third_party/llvm-build/Release+Asserts/bin/clang -MMD -MF obj/third_party/flac/src/libFLAC/libflac.bitmath.o。d -DV8_DEPRECATION_WARNINGS -D_FILE_OFFSET_BITS=64 -DCHROMIUM_BUILD -DCR_CLANG_REVISION=223108 -DCOMPONENT_BUILD -DTOOLKIT_VIEWS=1 -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_ASH=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 - DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DUSE_UDEV -DDONT_EMBED_BUILD_METADATA -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 - DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1-DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DFLAC__NO_DLL -DFLAC__OVERFLOW_DETECT '-DVERSION="1.2.1"' -DUSE_LIBPCI=1 -DUSE_GLIB=1 -DUSE_NSS=1 -DNENDGRIDABLE =0 -Igen -I../../third_party/flac/include -I../../third_party/flac/src/libFLAC/include -fstack-protector --param=ssp-buffer-size=4 - Werror -pthread -fno-strict-aliasing -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wno-reserved-user-defined-literal -Xclang -load -Xclang /home/ florent/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs。所以 -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-weak-ptr-factory-order -Xclang -plugin-arg-find-bad-constructs - Xclang strict-virtual-specifiers -momit-leaf-frame-pointer -mstack-alignment=16 -mstackrealign -fcolor-diagnostics -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch -default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -Wno-conversion -Wno-format -Wno-unused-result -msse2 -mfpmath=sse - mmmx -m32 -O2 -fno-ident -fdata-sections -ffunction-sections -funwind-tables -c ../../third_party/flac/src/libFLAC/bitmath.c -o obj/third_party/flac/src/ libFLAC/libflac.bitmath.o ../../third_party/llvm-build/Release+Asserts/bin/clang: 1: ../../third_party/llvm-build/Release+Asserts/bin/clang:语法错误:“)”意外忍者:构建停止:子命令失败。

很抱歉,它看起来如此丑陋!

0 投票
1 回答
1255 浏览

clang - 使用 CCMAKE 将 Clang 设置为自己的编译器后 ninja 出错

我一直按照http://clang.llvm.org/docs/LibASTMatchersTutorial.html上的说明使用 ninja 设置 Clang。

一切顺利,直到我ccmake ../llvm按照网页上的说明将 Clang 设置为自己的编译器(我在 中设置CMAKE_CXX_COMPILER了我最近编译的 clang++ 二进制文件$TARGETFOLDER/clang-llvm/build/bin/clang++)。

之后,当我输入 时ninja,会显示以下错误:

我已经在两台装有 Ubuntu 13.10 和 Ubuntu 14.04 的机器上对其进行了测试,并且出现了同样的错误。

有任何想法吗?

0 投票
0 回答
962 浏览

chromium - Chromium 构建失败

我正在尝试构建 Chromium 40.0.2214.111

但它因错误而失败:

我试图用google解决这个问题,但我没有成功

0 投票
0 回答
225 浏览

c++ - Ninja 编译 Chromium Embedded Framework 失败并出现错误:抽象类被标记为“最终”

我正在尝试使用以下代码从源代码编译 CEF :

编译失败说:错误:抽象类被标记为'final' [-Werror,-Wabstract-final-class]

我认为这与编译器有关,我在 OSX 上。

任何想法如何成功编译?

0 投票
3 回答
6505 浏览

cmake - 忍者相当于Make的“从这个目录向下构建”功能(使用CMake)?

使用 CMake 和 Make 构建项目时,您可以make从构建树的子目录(即从包含您的顶级目录的任何目录下方的目录Makefile)执行,并且make将(据我所知)构建位于或以下的所有目标那个目录。这是因为 CMake 会Makefile为每个包含目标的目录生成一个,因此当您在具有目标的目录中时,会make找到Makefile用于构建这些目标的目录。

然而,当 CMake 生成 Ninja 文件时,它只生成一个 build.ninja文件,该文件位于构建树的顶层。ninja因此从顶级目录以外的目录调用失败(即使该-f选项也不起作用,因为ninja找不到rules.ninja文件)。

有没有办法模拟在目录及其下方构建目标的“make-like”行为?据我所知,没有对应于“特定目录下的所有目标”的 Ninja 目标。(这可以使用以每个目录命名的虚假目标来模拟,这些目标依赖于该目录及其下方的所有目标,但默认情况下 CMake 不会生成此类目标。)

0 投票
1 回答
6063 浏览

cmake - 使用 cmake+ninja 构建并自动执行时,GTest 的输出没有颜色

我正在尝试将 CMake 和 ninja 配置为我的项目的构建系统。除了应用程序本身,我还有一个额外的可执行文件,用于由 gtest 提供支持的单元测试。我认为让它们在构建时自动执行会很好。以下是我的制作方法:

源/CMakeLists.txt...

...和源/ut/CMakeLists.txt:

现在当我构建它时,即:

它工作正常,只是输出是无色的。当我手动运行 ut 二进制文件时,build/ut/ut我得到了漂亮的绿色和红色。当我使用 Unix Makefiles 作为 CMake 的生成器时,颜色也在那里。

由于我只学习 CMake,有什么我错过的还是忍者的问题?

0 投票
0 回答
1365 浏览

assembly - 将汇编器输出添加到 CMake 项目

我正在研究 ReactOS 源代码,我想看看编译器的汇编器输出。所以我必须将-s选项设置为构建系统。另一个问题是,这意味着必须第二次调用编译器,一次用于构建汇编文件,另一个用于构建常规.o 文件。ReactOS 的构建系统是ninja,这甚至可能吗?或者,我可以仅为程序集文件创建一个单独的构建目录,但我仍然看不到如何将选项传递给编译器。

0 投票
2 回答
4343 浏览

forms - 提示:如何在 Ninja Forms Wordpress 插件中向文本区域添加占位符

这实际上不是一个问题。我只是觉得我需要与所有难以在 Ninja Forms textarea 字段中获得占位符的偷窥者分享这一小块魔法。

因此,基本上您需要做的是将以下代码添加到该head部分的 header.php 文件中,然后更改 textarea 的 ID 并选择您的占位符文本。

希望这可以帮助您节省一些时间。您可以稍后感谢我。

0 投票
3 回答
6510 浏览

chromium - 尝试编译 Chromium 时出错

我尝试使用该命令ninja -C out/Debug chrome来编译 Chromium。

但是错误消息说:

我能知道是什么问题吗?

谢谢。

0 投票
2 回答
1505 浏览

android - WebRTC libjinlge_peerconnection_so.so 缺少 Libjingle / XMPP

我已按照 android 示例应用程序 (AppRTCDemo) README ( https://chromium.googlesource.com/external/webrtc/+/master/talk/examples/android/README ) 中定义的构建说明进行操作,包括设置构建标志“ build_with_libjingle=1”。当我运行“ninja -C out_android/Debug AppRTCDemo”(或发布版本)时,它会编译与 libjingle 相关的所有内容。但是在编译libjingle_peerconnection_so.so的时候,好像忘记包含各种libjingle静态库了。我可以这么说,因为当我在自己的项目中包含 libjingle_peerconnection_so.so 文件(使用诸如 buzz::QN_MESSAGE 和 XmlElement 对象之类的东西)时,构建抱怨这些(和其他东西)没有定义。但是我的代码中的每个 WebRTC 对象都已定义,

我还在 libjingle_peerconnection_so.so 文件上使用了 nm -C 和 grep 来查找符号,但没有返回任何结果。但是,libjingle_peerconnection_so.ninja 文件显然包含了必要的库(librtc_xmpp 等)。

对于我的项目,我正在使用带有 .mk 文件的 ndk-build 系统(我仍在使用 ninja build stuff for libjingle / WebRTC)。我已经尝试放弃 .so 文件,而是在我的 .mk 文件中使用每个静态库,但这会引入一堆其他未定义的错误,这些错误比使用 .so 文件更有意义。我有多个版本的 .mk 文件,我使用下面的 libjingle_peerconnection_so.so 文件包含了一个。

我到底做错了什么?还是构建系统有问题?

更新 1: 当然,当您第二天访问某些东西时,一切都会改变。现在,当我在 libjingle_peerconnection_so.so 文件上运行 nm 时,它显示函数/符号在那里。但是,我的构建设置仍然声称它们没有定义,即使它们显然是。

更新 2:LOCAL_ALLOW_UNDEFINED_SYMBOLS := true在 .mk 文件中抑制了未定义的错误,这完成了构建并在 libs/armeabi-v7a/ 中创建了 android .so 文件。当我 nm 这些文件时,会找到符号。但是,当所有内容都加载到 android 设备时,应用程序崩溃,说它找不到(例如)_ZN4buzz11QN_PRESENCEE我的库 (myproject.so) 中引用的符号。纳米结果: