build - WebRTC : ninja build not working

标签 build webrtc ninja

我在 UBUNTU 环境中构建 webRTC 所遵循的步骤。

查看代码:

 gclient config https://webrtc.googlecode.com/svn/trunk
 echo "target_os = ['android', 'unix']" >> .gclient
 gclient sync --nohooks

生成忍者 makefile:

光碟机

 $./build/install-build-deps-android.sh
 $. build/android/envsetup.sh
 Defaulting GYP_GENERATORS to ninja

 $gclient runhooks
 $android_gyp

android_gyp 的结果:

GYP_GENERATORS set to 'ninja'
Updating projects from gyp files...
gyp: /home/user/webRTC/trunk/chrome/chrome_resources.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/tools/android/findbugs_plugin/findbugs_plugin.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/sql/sql.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/tools/android/android_tools.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/sync/sync.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/sandbox/sandbox.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/net/net.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/media/media.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/ipc/ipc.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/gpu/gpu.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/components/components_tests.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/base/base.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/breakpad/breakpad.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/base/android/jni_generator/jni_generator.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/third_party/cacheinvalidation/cacheinvalidation.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/remoting/remoting.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/chrome/chrome.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/android_webview/android_webview.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/mojo/mojo.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/content/content_shell_and_tests.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/ui/ui_unittests.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/webkit/renderer/compositor_bindings/compositor_bindings_tests.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/cc/cc_tests.gyp not found (cwd: /home/user/webRTC/trunk)
gyp: /home/user/webRTC/trunk/third_party/WebKit/public/all.gyp not found (cwd: /home/user/webRTC/trunk)

构建和安装演示应用程序:

$ ninja -C out/Debug video_demo_apk
ninja: Entering directory 'out/Debug'
ninja: error: unknown target 'AppRTCDemo'

如果我有任何错误,请告诉我。 我认为 android_gyp 有问题,但不要。

注意:我在 Windows 操作系统上使用 Ubuntu(VMware)

最佳答案

这是我在 Ubuntu 12.04.4 上构建 AppRTCDemo 的笔记,显然您的目录可能略有不同。

## building webrtc

# install dependencies:
sudo apt-get install git git-svn subversion g++ python libnss3-dev libasound2-dev libpulse-dev libjpeg62-dev libxv-dev libgtk2.0-dev libexpat1-dev lib32asound2-dev ia32-libs

# create a working directory:
mkdir -p ~/git/working

cd ~/git/working

# get the depottools:
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

# Add depot_tools to your PATH:
echo "PATH=\$PATH:$HOME/git/working/depot_tools" >> ~/.bash_aliases
echo "export PATH" >> ~/.bash_aliases
. ~/.bash_aliases

# get the WebRTC source:
gclient config http://webrtc.googlecode.com/svn/trunk

# configure for android:
echo "target_os = ['android', 'unix']" >> .gclient

# synchronize:
gclient sync --nohooks

# set up env variables:
source ~/git/working/trunk/build/android/envsetup.sh

# install new dependencies:
sudo ~/git/working/trunk/build/./install-build-deps-android.sh
sudo ~/git/working/trunk/build/./install-build-deps.sh

# Set up webrtc-related GYP variables:
export GYP_DEFINES="build_with_libjingle=1 build_with_chromium=0 libjingle_java=1 $GYP_DEFINES"

# generate the build scripts:
gclient runhooks

# install find_depot_tools dummy file:
wget -O ~/git/working/trunk/build/find_depot_tools.py http://webrtc.googlecode.com/svn/trunk/webrtc/build/find_depot_tools.py

# build the Debug version of the AppRTCDemo:
ninja -C out/Debug AppRTCDemo

关于build - WebRTC : ninja build not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20047559/

相关文章:

flutter - flutter中的未定义名称 'navigator'

c++ - 一个C++项目编译发布调试同时进行

javascript - 来自 javascript ninja secret 书的示例

android - 错误 "cannot find -lrt"为 Android 构建 Boost

c++ - KDevelop4 : target build directory doubled after importing CMakeList. 文本文件

c++ - eclipse 无法包含包含文件中的某些枚举

flutter - 如何在本地运行 flutter web build

javascript - 如何通过 Django Channels 实现视频通话?

javascript - WebRTC 无法添加 ICE 候选