问题标签 [cross-compiling]

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 投票
1 回答
2366 浏览

iphone - 为 iPhone 编译外部 C++ 库(Octave)(缺少 Fortran 编译器?)

我的一个朋友问我是否可以将Octave项目移植到 iPhone。我之前没有为 iPhone 项目编译过外部包,所以我下载了源代码,然后使用在几个不同的网站()上找到的一些脚本来尝试构建库。但是,当我尝试这些脚本中的任何一个(几乎相同)时,它们最终会在该configure阶段死亡,并出现以下错误输出:

是 iPhone SDK/Xcode 不包含 Fortran 交叉编译器的问题,还是我做错了什么?

0 投票
6 回答
5216 浏览

c++ - 使用 CppUnit 或类似工具交叉编译单元测试

有没有人使用过像 CppUnit 这样的包来交叉编译 C++ 单元测试以在嵌入式平台上运行?

我在 Linux 机器上使用 G++ 来编译必须在 LynxOS 板上运行的可执行文件。我似乎无法获得任何常见的单元测试包来配置和构建将创建单元测试的东西。

我看到很多单元测试包,CppUnit、UnitTest++、GTest、CppUTest 等,但很少在交叉编译器场景中使用这些包。带有“配置”脚本的那些暗示这是可能的,但我似乎无法让他们配置和构建。

0 投票
2 回答
1335 浏览

opengl - 使用 mingw 为 windows 交叉编译 opengl 应用程序

嘿,我正在运行 linux (ubuntu),

我在这方面遇到了一些麻烦。我已经尝试下载 glut32.dll 并将其粘贴在 mingw 的 lib/ 目录中,并在 include/ 中设置适当的头文件,但是 - 尽管编译很好 - 链接器在查找符号时遇到了严重问题。

我该怎么做呢?如何使用 mingw 为 Windows 构建 opengl 应用程序?

谢谢,

0 投票
2 回答
7179 浏览

iphone - 为官方 iPhone SDK 交叉编译基于 Autotools 的库

背景

我正在编写一个针对几种不同手机的程序,包括 iPhone。该程序依赖于几个第三方库。我很难为 iPhone 和 iPhone 模拟器交叉编译这些第三方库。这些库包括 Apache Portable Runtime 和 GNUTLS,以及它们的依赖项。我希望构建的库以前缀“/opt/iphone-3.1”、“/opt/iphone-3.0”、“/opt/iphone-2.2.1”、“/opt/iphone-simulator-3.1”结尾”和“/opt/iphone-simulator-3.0”。

为了使交叉编译过程易于重复,我正在创建脚本来为每个目标平台调用“配置”脚本(“iphone3.1-configure”、“iphone3.0-configure”、“iphone2.2.1 -configure”、“iphonesim3.1-configure”和“iphonesim3.0-configure”)。这是我遇到麻烦的地方。

我正在使用带有官方 Xcode 3.2 + iPhone SDK 3.1 的 Mac OS X 10.6 Snow Leopard 计算机。

地位

我目前有以下“iphone3.1-configure”脚本:

在“apr-1.3.8”文件夹中,我正在运行“iphone3.1-configure --disable-dso”,并且得到:

“config.log”的相关部分是:

问题

如何修复“iphone3.1-configure”脚本?谢谢。

0 投票
2 回答
378 浏览

c++ - Windows -> Solaris 5.X C++ 交叉编译器推荐

我以前做过跨平台开发,但我们目前采用的过程,例如在 Windows 机器上进行开发(因为我们主要是 Windows 商店),然后在 Solaris 机器上实际构建二进制文件对我来说有点复杂。

你能给我推荐一个交叉编译器,这样我就可以将开发任务限制在 Windows 机器上(例如构建 Solaris 二进制文件(.so)),并且只使用 Solaris 机器进行测试和部署。

在将生成的二进制文件(例如依赖黑白二进制文件)部署到 Solaris 机器之前,能够在 Windows 机器上测试生成的二进制文件也很棒,但看起来我要求的太多了。

0 投票
1 回答
7059 浏览

iphone - 将 Apache Portable Runtime 交叉编译到 iPhone

这是对之前关于 iPhone 交叉编译的问题的跟进:
为官方 iPhone SDK 交叉编译基于 Autotools 的库

基本上,我正在尝试为 iPhone 编译 Apache Portable Runtime (APR) 版本 1.3.8(最新)。我目前在配置步骤中遇到以下错误:

我正在通过“iphone3.1-configure --disable-dso --enable-threads”调用“configure”脚本,其中“iphone3.1-configure”是我为调用“配置”脚本:

configure 给我的错误并不是我第一次收到类似“交叉编译时无法运行测试程序”的消息。事实上,“iphone3.1-configure”脚本中的“ac_cv_file__dev_zero=no”和“ac_cv_func_setpgrp_void=yes”元素会导致两个类似的失败测试被绕过。我遇到的问题是我不知道如何绕过此检查-也就是说,我不知道要设置哪些变量来绕过此测试以及尝试运行为目标构建的可执行文件的任何其他测试平台。我之所以能够绕过前面两个类似的测试,仅仅是因为我能够在 Google 上找到解决方法……有人知道要设置哪些变量或绕过此检查的另一种方法吗?

如果有人知道一种方法来抑制交叉编译时无法执行的所有测试,或者如果您只知道如何抑制这种特定检查,我将不胜感激。非常感谢你。

0 投票
3 回答
2971 浏览

iphone - 为 iPhone 交叉编译 libgcrypt?链接器错误...似乎找不到“fwrite”和“strerror”?

我已经成功地交叉编译了适用于 iPhone 的 Apache Portable Runtime (APR),使用一组配置脚本调用 GNU Autotools "./configure" 以及必要的交叉编译选项。

我现在正在尝试交叉编译依赖于 libtasn1 和 libgcrypt 的 GNUTLS,而后者又依赖于 libgpg-error。这是我遇到麻烦的地方,可以使用你的帮助......

我目前正在尝试交叉编译 libgpg-error。我之前使用的配置脚本运行良好;“./configure”过程干净利落地完成。当我运行“make”时会出现问题。当我运行 make 时,一切似乎都可以编译,但最后我得到以下令人讨厌的链接器错误:

关于如何让它发挥作用的任何想法?我正在编译的软件版本是:

  • libgpg 错误:1.7
  • libgcrypt:1.4.4
  • libtasn1:2.2
  • 坚果:2.8.4

请帮忙。谢谢你。

更新

根据最初的反馈,每个 SDK 在“$SDKROOT/usr/lib”中都有一个“libSystem.dylib”的副本。"$DEVROOT/usr/lib" 中没有 libSystem 的副本,其中:

  • $DEVROOT = "/Developer/Platforms/iPhoneOS.platform/Developer"
  • $SDKROOT = "$DEVROOT/SDKs/iPhoneOS$VER.sdk"

“libSystem”库包含每个符号的普通、未修饰的版本,但不包含符号的“$UNIX2003”变体。我怀疑 GPG-ERROR 正在定义“_POSIX_C_SOURCE”、“_UNIX”或另一个 UNIX 功能测试宏,并且当这些功能测试宏存在时,将包含“$UNIX2003”附加到函数的流氓头文件被包括在内。从包含目录列表中删除“$DEVROOT/usr/include”对于删除此错误消息没有任何影响。

作为最后的手段,我看到“ld”接受一个“-alias_list”选项,该选项允许一个人指定一个带有“_fwrite _fwrite$UNIX2003”之类的条目的文件,以强制将这些未定义的符号解析为其未修饰的变体。如果可能的话,我想避免这个选项,因为它看起来很老套并且有潜在的危险。

0 投票
1 回答
3309 浏览

mingw - 在 Mac OS X 上使用 mingw 交叉编译基于 autoconf 的工具

我想在 Mac OS X 上使用 mingw 为 Windows 交叉编译一些开源库(libiconv、gettext、glib2)。我已经在 Mac 上使用 MacPorts 安装了 mingw。但是现在我不确定要给配置脚本什么,这样它才能工作。我看过的交叉编译教程都在谈论 makefile,但没有人提到给基于 autoconf 的项目提供什么。

我是这样配置的:

但似乎不需要。虽然配置将通过,但运行“make”将给出此错误:

我认为配置的“--host”参数应该告诉它使用mingw编译器?我不确定这里发生了什么。

0 投票
7 回答
1679 浏览

linux - 是否可以在 Linux 上为其他平台创建二进制文件?

是否可以在 Linux 上创建其他平台的二进制文件?假设我有一个可以使用 gcc 编译到.o文件的程序,但是我们可以用它来输出exe可以在 windows 上运行的输出吗?

0 投票
0 回答
4147 浏览

c - 从 Ubuntu 编译 Windows 二进制文件?

我正在使用 linux(主)和 windows(备用)二进制文件做一个跨平台的 C(不是 ++)游戏。到目前为止,我使用 devcpp 在 Windows 中编译,但我无法让一些库正常工作,而且我听说可以从 Linux 编译 Windows 二进制文件。但是,我不知道从哪里开始。游戏使用了一些库(GLEW、GL、SDL、SDL_mixer、SDL_image 和 Lua 5.1),这些库会使分发目录变得混乱,那么是否可以使用该方法制作静态二进制文件?