问题标签 [cross-build]

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 投票
3 回答
2221 浏览

c++ - 如何将 Ubuntu 上的应用程序交叉编译到 Windows

我一直在 Qt Creator 的 Ubuntu 上开发基于 Qt 5 的应用程序。使用的项目格式是 CMake。是时候将这些东西交叉编译成可以在 Windows 上运行的二进制文件了。所以我有

  1. 安装了 clang 和 mingw-w64
  2. 创建了一个指向正确工具的 CMake 工具链文件(来自已安装的 MiGW 工具链的工具)并将目标三元组设置为x86_64-w64-mingw32(使用此三元组是因为它对应于安装 gcc 工具链的路径)。
  3. mingw64-qthttps://dl.fedoraproject.org/pub/fedora/linux/development/30/Everything/x86_64/os/Packages/m/开始下载包,解压它们,合并解压的目录,删除任何不需要的东西,修复使它们与系统中的路径相对应的 CMake 脚本(脚本中有一些硬编码的路径)。
  4. 将解压后的 Qt 所需目录的路径添加到工具链文件中,以使自动发现工作
  5. 试图建立。

当我尝试构建时,我的项目的一些文件 (6) 编译得很好,但是 4 导致了令人讨厌的编译错误:

好的,我想,也许 Ubuntu 存储库中的 MinGW-w64 已经烂了?事实上,它在 Ubuntu repos 中是 6.0,但在 MinGW-w64 网站上是 8.1。

好的。我已经卸载了这个包,下载了https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/x86_64-8.1 .0-release-posix-seh-rt_v6-rev0.7z ,解压,设置工具链文件以使用 clang 和 clang++ 作为编译器和 llvm binutils,设置 sysroot 指向解压后的目录,尝试重建...并得到相同的错误(但在新的 sysroot 中)。

好吧,我试图在依赖项和已知可由 g++ - ninja 构建的方面构建一些更简单的东西。

同样的结果。我试过然后 MinGW-w64 工具链(Windows 版本)在 wine 中运行。同样的结果。该死。

一个简单的 hello world 应用程序在所有情况下都可以构建并正常工作。

如何使用 MinGW-w64 stdlib 交叉构建比 Windows 的 hello world 更复杂的应用程序?

另外我想知道如何设置 Qt Creator 以正确使用此工具链。

0 投票
1 回答
329 浏览

gcc - 构建 mingw-w64 交叉编译器时启用线程本地存储

几天来我一直在尝试构建一个 mingw-w64 工具链,我一直在构建交叉编译器 GCC 8.1.0。

问题是我必须启用线程本地存储(TLS),因此我传递--enable-tls给 GCC 的配置脚本。

没有成功,因为在构建结束时,在_GLIBCXX_HAVE_TLS中未定义config.h,对于_GLIBCXX_HAVE_CC_TLS.

我尝试浏览甚至修补 autotools 文件以了解如何使其工作。

有没有人遇到过这个问题?

请注意,Windows 上的 mingw-w64 安装程序具有 TLS 符号,因此必须可以为此目标和 TLS 构建 GCC。

0 投票
0 回答
80 浏览

yocto - 构建 gcc-cross 失败,没有提供“gcc-cross”

我在最后一次提交时用poky构建gcc-cross 。

并得到错误:

gcc-cross 配方中定义了什么来防止尾部没有目标架构名称的gcc-cross ?

0 投票
1 回答
76 浏览

scala - Scala:如何通过交叉构建以及不同的库依赖项来构建 Scala 项目

我有一个在 scala 2.13.1 上构建的 sbt Scala 项目我想用 scala-2.12.8 构建它,因为在做了一些研究之后,一些库依赖项仅支持 scala 2.12这个问题正是我的用例我遵循了答案但我我收到一个错误

这是我的 build.sbt

0 投票
1 回答
107 浏览

scala - 如何根据提供的 scala 版本告诉 sbt 需要编译哪个包

我正在使用 sbt 交叉构建我的项目支持两个 scala 版本scala-2.12.8scala-2.13.1并且我有源代码目录作为

我查看了 sbt文档,其中并不清楚,然后我发现这个答案 是我的代码

并收到以下错误

0 投票
1 回答
236 浏览

rust - 调用 cargo-binutils 命令时有没有办法使用 xbuild 而不是 build?

我尝试将 binutils 命令用于带有cargo xbuild命令的自定义构建目标的二进制文件。
但是,我收到类似以下消息的错误。

我意识到cargo nm使用cargo build命令,
所以我认为如果我cargo nm使用cargo xbuild而不是cargo build.

但是,我找不到如何做到这一点。
如果有办法请教我。

0 投票
1 回答
298 浏览

javascript - 如何在 Scalajs 项目中使用 Javascript 库

我正在关注这里的教程:

https://www.scala-js.org/doc/project/dependencies.html

  1. 首先,我的项目设置如下:

https://github.com/scala-js/scalajs-cross-compile-example

在不进行任何更改的情况下,当我传入以下命令时,它会按预期运行:

  1. 现在我想导入这个库:

  2. 我想运行以下功能:

    Plotly.newPlot('myDiv', 数据);

我怎样才能做到这一点?

我在 js 文件夹中的 Main.scala 文件如下所示:

我知道这个库的外观已经存在,但我希望能够为未来的项目创建自己的外观,并以此为例。我在这里阅读了教程:

https://www.scala-js.org/doc/interoperability/facade-types.html

但老实说,我不遵循来自不同语言生态系统的那些步骤。

0 投票
0 回答
85 浏览

javascript - 如何从交叉构建项目中的资源文件夹中读取

我有一个具有以下结构的交叉构建项目:

现在在我的 js main.Scala 文件中,我想读入 myjsfile.js。

我知道在标准 Scala JVM 项目中我可以执行以下操作:

现在我的问题是,如何使用当前的文件夹结构来做到这一点?

如果我运行以下 main.scala(js 版本):

我收到以下错误:

我该如何克服这个错误?

0 投票
1 回答
498 浏览

c - 如何在 MSYS2 中建立 GMP?

我想在 Windows 上使用 GMP,我需要构建静态程序。(这意味着,如果有人可以提供另一种使用 libgmp 编译 win32 x86_64 程序的解决方案,我也将不胜感激。)

现在我安装了 msys2,并在其中执行了

然后我从 gmplib.org 下载了 gmp-6.2.0.tar.lz 并将其解压缩到某个地方,比如

然后我,使用msys2 mingw64,进入这个目录并执行

前两个命令似乎很好,输出似乎是正确的。但是,make check 并没有向我提供 make 是否正确。在其输出结束时,它说,

并且 make install 以类似的消息结束。最后,当我尝试编译程序时,它说,

事实上,我不是专业程序员,所以我不太确定如何为 mingw 安装 GMP。如果有人能告诉我如何从头开始执行此操作,我将不胜感激。

0 投票
1 回答
417 浏览

docker - Docker:无法复制 xattrs:无法设置 xattr“security.selinux”

我正在尝试使用 Gitlab-CI 为 linux/arm/v7 平台构建 docker 映像,但不幸的是我遇到了以下错误:

我的 gitlab-ci.yml 看起来像:

我的 Dockerfile 如下:

有谁知道我该如何解决这个问题?