5

我通过以下方式获取源代码(chrome)

$ glient sync

运行所有命令请求:

     - gclient config ......
  - GYP_GENERATORS ...
  - build/intall-build-desp.......
  - GYP_DEFINES....
  - etc...

但是当我尝试像这样构建 chromedriver 时:

lolo@ssa-workstation:~/work$ ninja -C /out/Release chromedriver

我总是收到这条消息

ninja: Entering directory `/out/Release'
ninja: fatal: chdir to '/out/Release' - No such file or directory`

请帮忙?

4

1 回答 1

1

刚刚找到对我有用的东西(Mac OS X Catalina 10.15.2) -来源

(注意:可能你必须替换iosiphonesimulator使用,chromedriver因为我正在为 iOS 构建铬)

您必须输入src文件夹(在您使用 fetch -fetch ios在我的情况下)并使用gn args out/Debug-iphonesimulator(或替换out/Debug-iphonesimulator为您选择的out/目录)打开一个编辑器(vi在我的情况下为 editor)来设置以下gn变量并重新生成:

# Set to true if you have a valid code signing key.
ios_enable_code_signing = false
target_os = "ios"
# Set to "x86", "x64", "arm", "armv7", "arm64". "x86" and "x64" will create a
# build to run on the iOS simulator (and set use_ios_simulator = true), all
# others are for an iOS device.
target_cpu = "x64"
# Release vs debug build.
is_debug = true

之后,您将能够毫无问题地运行您的命令(但请确保depot_tools在您的$PATH

我跑autoninja -C out/Debug-iphonesimulator gn_all了,它就像一个魅力:)

作为参考,我使用了此处此处的官方文档

还有另一个选项可以使用GYP,而不是gn在同一文档页面上(我自己没有尝试过,但无论如何它可以帮助某人):

在您要检查代码的目录中,创建一个chromium.gyp_env以将构建设置为使用 iOS 目标:

cat > chromium.gyp_env <<EOF
{
  "GYP_DEFINES": "OS=ios",
  "GYP_GENERATORS": "ninja,xcode-ninja",
}
EOF

如果您未设置为通过开发者帐户签署 iOS 构建产品,则应改为使用:

cat > chromium.gyp_env <<EOF
{
  "GYP_DEFINES": "OS=ios chromium_ios_signing=0",
  "GYP_GENERATORS": "ninja,xcode-ninja",
}
EOF

希望这可以节省很多人寻找答案的时间:)

于 2020-06-21T17:21:35.157 回答