问题标签 [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.
scala - 如何拥有具有多个 Scala 版本的 SBT 子项目?
我有一个使用 Scala 2.10 的项目和一个使用 Scala 2.11 的项目。它们依赖于一个可以同时编译的通用项目。
接着
我怎样才能让baz
两个项目都使用?
scala - 为什么 crossScalaVersion 不是 scalaVersion?
构建.sbt
项目/build.properties
然后
看起来crossScalaVersions
应该是List(2.11.4)
。
看看 SBT 的源代码,我也是这么想的。
为什么不crossScalaVersions
对应scalaVersion
?
scala - SBT Scala 跨版本,具有聚合和依赖关系
我正在为如何crossScalaVersions
处理子项目而苦苦挣扎。
我有一个使用 2.10 (foo) 编译的项目和一个使用 2.11 (bar) 编译的项目。他们共享一个交叉编译的项目(常见)。
如何编译项目 foo 和 bar?
构建.sbt
项目/build.properties
foo/src/main/scala/Foo.scala
bar/src/main/scala/Bar.scala
common/src/main/scala/Common.scala
尝试 1
尝试 2
尝试 3
尝试 4
尝试 5
我什至尝试使用相同的基本目录但不同的 scala 版本定义common_2_10
和项目。common_2_11
我记得读过目标是由 Scala 版本命名的,但 SBT 说存在冲突。
我唯一要做的就是手动指定版本:
但是这是很多命令,永远不能使用并行性,并且避免了(1)项目聚合和(2)交叉构建的整个使用。
我是否遗漏了一些关于 意图的基本内容crossScalaVersions
?或者有没有办法让它与 SBT 的其余部分配合得很好,并让我编译我的异构项目?
apache - arm的apache2交叉构建失败
在交叉构建 apache2 2.4.12 时,我在编译期间收到以下错误:
似乎有一个肮脏的黑客在编译期间从文件 make_exports.awk 生成 httpd-2.4.12/server/exports.c
如何调整这个 make_exports.awk 文件以获得适用于 arm 的交叉构建?
c++ - Metabuild 工具可同时处理多个交叉构建
我有一个中型 C++ 项目,可以在 32 位和 64 位的 Linux、Windows 和 Mac OS X 上运行。在某些平台上,它有多个变体(例如 Linux 上的 Gtk-2 和 Gtk-3 变体)。作为一个业余程序员,我没有为每个平台专门构建机器的资源。所以我为每一个都安装了交叉编译器,这样所有的构建都在我的 Linux 机器上进行。
我希望能够用一个命令构建所有十个左右的变体。现在我通过一个快速而肮脏的 Python 脚本来实现这一点,该脚本创建了一个 makefile(实际上我最近切换到了 ninja,但我猜它不是很相关)。它为每个变体创建 Windows 安装程序、Debian 包和诸如此类的东西。但我想要一个更干净的解决方案,因为我的脚本不会随着项目的增长而很好地扩展。
所以我的问题是:哪些元构建工具能够创建一个可以处理多个工具包(交叉编译器)和自定义命令(创建安装程序等)的 Makefile(或类似的,如忍者构建文件)?
我尝试了 CMake(和其他一些),但对我来说如何使用多个工具包并不明显。大多数工具似乎为每个配置创建一个 Makefile。
编辑:现在,这个答案声称这是不可能的。我不明白为什么。如果我能用我 15 分钟的 Python 脚本来完成它,我觉得一定有一个工具能够为我完成它。
arm - 在 Linux64 上为 Windows64 构建 Qemu(ARM 仿真)
我正在尝试在 QEmu 中运行 ARM VExpress 仿真。我的终端平台是 Windows64。我的构建系统正在运行 Linux64。我正在使用 QEmu 2.3.0 版和 x86_64-w64-mingw32 工具链。
在构建过程中我遇到了很多问题,但我自己解决了一些问题。其中之一是安装时的工具链不包含 glib 库,我必须导入从互联网上搜索得到的一个。所以在添加了一些 pkg-config 文件并将这组 glib 复制到 lib 文件夹之后,我得到了整个东西开始编译。
我现在如何面临一个新问题。它正在检查 librt,而工具链没有 librt。我得到了一个 librt 版本并将其添加到工具链 lib 文件夹中,编译时抛出以下错误。任何步骤的任何帮助表示赞赏。
编辑 1:通过在 LIBS 和 LIBS_QGA 头的 config-host.mak 文件中添加 -lole32 来修复上述问题。
但现在面临以下问题
从此着手。
我从 gettext 包下载并编译了 libintl 并手动将其安装在工具链中。对 libiconv 和 libffi 做了同样的事情。
现在,我收到以下错误。
尝试编译 glib 库以尝试解决此问题。感谢您的任何帮助。
macos - OCaml 默认包含目录和默认 ocamlrun 位置
我已经在我的 mac(主机)上从源代码编译了 OCaml,我没有问题。我还在我的mac上为某些目标(不同于主机)交叉编译了OCaml,在这种情况下我有以下问题:
1)我可以直接使用(在目标上)ocamlrun
,ocamlyacc
因为它们是“纯”二进制文件,没有问题,就像在主机上一样。如果我想使用$INSTALL/bin
(是目标上$INSTALL
的安装目录)中的其他二进制文件,我有错误告诉我路径错误。实际上,如果我使用十六进制编辑器打开二进制文件,我会看到它以路径开头,其中路径是我在其上进行交叉构建的主机(我的 mac)上的路径,而不是其目标版本的路径。 ..当然,如果我用目标上的路径替换这条路径,则无需再做,一切都很好。对于来自和的所有其他二进制文件相同ocaml
ocamlopt
ocamlrun
ocamlopt
#!/not/target/but/host/path/to/ocamlrun
ocamlrun
configure
ocamlrun ocamlopt
$INSTALL/bin
ocamlrun
ocamlyacc
放在一边。(最后两个确实可以直接工作,正如我上面写的那样。)有没有办法configure
(在主机上)ocaml
交叉构建,以便ocamlrun
目标上的正确路径直接出现在二进制文件的开头$INSTALL/bin
?
2)如果不需要通过标志指定$INSTALL/lib/ocaml
目录,我就无法编译代码。-I
有没有办法强制这个标准库路径在configure
?或者任何ocaml
处理它的“内部”环境变量,我可以编辑以确保ocaml
会在其中查找库$INSTALL/lib/ocaml
?(我对环境变量解决方案非常悲观,因为在主机上我只有两个环境变量(at printenv
),ocaml
而且似乎没有人处理这种东西,所以我不明白为什么它会变得不同/更好在目标上……)
c - 如何让链接器报告给定函数的链接位置
我在尝试在 Linux 主机上交叉构建 win32 和 win64 exe 时遇到问题。
我正在使用 mingw 交叉构建工具链
我的.c
文件包括time.h
为了clock_gettime()
使用main()
现在这是一POSIX
件事,所以不能保证它是 Windows 便携的
但是,在另一台具有类似(但显然不相同)设置的笔记本电脑上,它确实可以编译和链接没有问题
在这台笔记本电脑(我要迁移到的新笔记本电脑)上,出现链接器错误:
我想做的是以某种方式让另一台机器上的链接器告诉我它在哪里找到带有clock_gettime()的.dll
为了让我查看新笔记本电脑上是否存在类似的 .dll 以及其中是否有 clock_gettime() 符号
是否有可能让链接器报告此信息,也许是某种详细模式。我已经走上了 GIYF 的路线,但到目前为止还是一片空白。
libz - arm-linux-ar: 非法选项 -- z
当我想交叉构建libz时,出现错误,我用谷歌搜索,但找不到答案。请帮助我。我也找到了一个网站,但我不能很好地理解这一点。 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=444727
编码: