如何使Wireguard-Android make文件在Windows上运行?

问题描述 投票:4回答:1

我正在尝试在Windows计算机上构建wireguard-android源,并通过反复试验逐步解决问题。

我安装了CMake和Make,遇到的第一个问题是uname(mingw64)报告的“错误”值,与Google托管的golang filenames不匹配。

我已经编辑(修改过)make文件,使其指向Windows版本(amd64)的真实文件名。问题是Windows版本的扩展名是.zip而不是.tar.gz,并且zip的结果似乎与管道命令不兼容。

原始命令

curl "https://dl.google.com/go/go$(DESIRED_GO_VERSION).$(shell uname -s | tr '[:upper:]' '[:lower:]')-$(NDK_GO_ARCH_MAP_$(shell uname -m)).tar.gz" | tar -C "$(dir $@)" --strip-components=1 -xzf -

我尝试的更改:(使用if-else,因为它仍然仍然需要在mac上运行)

ifeq "msys" "$(shell uname -o | tr '[:upper:]' '[:lower:]')"
    # Note: when enclosed in the ifeq, the ARCH_MAP part no longer worked
    # Note: using tar with the zip fails, because we cant untar a zip (signal 13)
    # Note: using unzip with the zip fails with confusing paths
    curl "https://dl.google.com/go/go$(DESIRED_GO_VERSION).windows-amd64.zip" | unzip -C "$(dir $@)" --strip-components=1 -xzf -
else
    curl "https://dl.google.com/go/go$(DESIRED_GO_VERSION).$(shell uname -s | tr '[:upper:]' '[:lower:]')-$(NDK_GO_ARCH_MAP_$(shell uname -m)).tar.gz" | tar -C "$(dir $@)" --strip-components=1 -xzf -
endif

如果使用解压缩会导致错误

解压缩:无法找到或打开C:\ wireguard-android \ app \ build \ intermediates \ cmake \ debug \ obj \ armeabi-v7a /../ Generated-src / go-1.13.7 /,C:\ wireguard- android \ app \ build \ intermediates \ cmake \ debug \ obj \ armeabi-v7a /../ Generated-src / go-1.13.7 / .zip或C:\ wireguard-android \ app \ build \ intermediates \ cmake \ debug \ obj \ armeabi-v7a /../ generation-src / go-1.13.7 / .ZIP。

%总接收百分比%Xferd平均速度时间时间时间当前Dload上传总花费左手速度

0 0 0 0 0 0 0 0-:-:--:-:--:-:-00 127M 0 5419 0 0 26694 0 1:23:47-:-:-1:23:47 26694

卷曲:(23)书写体失败(34!= 1357)

make:*** [C:\ wireguard-android \ app \ build \ intermediates \ cmake \ debug \ obj \ armeabi-v7a /../ Generated-src / go-1.13.7 / .prepared]错误9] >

如果使用tar会导致错误

curl“ https://dl.google.com/go/go1.13.7.windows-amd64.zip” | tar -C“ C:\ wireguard-android \ app \ build \ intermediates \ cmake \ debug \ obj \ armeabi-v7a /../ Generated-src / go-1.13.7 /” --strip-components = 1 -xzf -

%收到的总百分比%Xferd平均速度时间时间当前时间Dload上传总剩余左速度

0 0 0 0 0 0 0 0 0-:-:--:-:--:-:-0gzip:stdin有多个条目-忽略焦油:孩子死于信号13tar:错误无法恢复:现在退出

0 127M 0 108k 0 0 248k 0 0:08:47-:-:-0:08:47 248k

卷曲:(23)书写体失败(738!= 1357)

make:*** [C:\ wireguard-android \ app \ build \ intermediates \ cmake \ debug \ obj \ armeabi-v7a /../ Generated-src / go-1.13.7 / .prepared]错误2] >


  • 我应该如何使此命令起作用? (使用tar或zip / unzip)
  • 有人向我指出,也许我需要Android版本,而不是Windows版本。在那种情况下,我假设我需要armeabi-v7a,但是我只能看到ARMv6和ARMv8软件包。我应该使用什么发行版?

我正在尝试在Windows机器上构建wireguard-android源代码,并通过反复试验逐步解决问题。我已经安装了CMake和Make,遇到的第一个问题是...

android makefile cmake android-ndk wireguard
1个回答
0
投票

我设法解决了这个问题,我在回答自己的问题,而不是删除,因为我认为这最终会帮助另一位开发人员。

首先澄清

© www.soinside.com 2019 - 2024. All rights reserved.