问题标签 [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 投票
4 回答
10460 浏览

linux - 是否可以在 Linux 上设置 gcc 交叉编译器以在 32 位架构上编译 64 位目标?

我知道您可以使用 -m32 标志在 64 位 Linux 上编译为 32 位目标,但是否也可以使用 -m64 标志在 32 位机器上编译为 64 位?

或者,您是否需要设置一个支持 64 位目标的跨 gcc 工具链,这在 ​​32 位机器上是否可行?

问候,约翰

0 投票
2 回答
505 浏览

debian - ARM 开发和仿真

我有一个安装了 debian 的 ARM 设备(网络存储)。我可以拉出驱动器并转储 fs 映像(使用 dd)。那里的操作系统是debian,我用的是ubuntu。

我需要安装什么(软件)才能进行交叉编译?

我可以挂载图像并修改其内容。如何模拟该设备来测试交叉编译的可执行文件?

更新:我不是指任何汇编程序编程,我想要的是编译一些常用的 debian 守护进程(网络服务器 + 脚本)并在检查后部署。

0 投票
2 回答
2272 浏览

iphone - 交叉编译icu的问题

我正在尝试交叉编译 iPhone 的 icu 库。我从http://sites.google.com/site/michaelsafyan/coding/articles/iphone下载了一个配置脚本包装器, 当我执行它时,我收到以下错误消息:

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

提前致谢

0 投票
6 回答
1584 浏览

python - 游戏交叉编译打包

我和一些朋友想开发一款游戏。任何语言都可以。我已经用 C 编程多年,但以前从未写过游戏。我们中的一个人对 SDL 略知一二。这也是学习 Python+pygame 的一个很好的借口。

我们希望我们的游戏是“独立的”。所谓独立,我的意思是大多数用户(至少 Linux、Mac 和 Windows)不需要手动下载和安装除软件包之外的任何其他东西。如果安装自动处理缺少的依赖项,则可以。如果包包含二进制文件,我们希望能够使用 Linux 的交叉编译来生成它们。

我们应该如何打包和构建项目,什么语言最适合?

0 投票
1 回答
5663 浏览

solaris - 在 x86 上为 SPARC 进行交叉编译

我在How do I cross-compile C code on Windows for a binary to also be run on Unix (Solaris/HPUX/Linux) 上看到了关于交叉编译器的回复?

我想知道如何在 x86 机器上为 SPARC 编译 Y?我在哪里可以找到一个好的交叉编译器?我还需要为 HP OS 编译。

0 投票
2 回答
191 浏览

visual-c++ - 使用在不同版本的 Visual C++ 中构建的库/DLL

如果第 3 方开发人员向我们提供使用 VC++ 2005 生成的 .libs 和/或 .dll,它们可以在 VC++ 2008 中使用吗?如果他用 2008 Pro 编译,而我们运行 2008 Standard/Express 呢?

我知道 C++ 不像以前那样可移植,VC++ 运行时等等,但我想至少我们可以在较新版本的 VC++ 中使用预先存在的库/dll。

0 投票
1 回答
273 浏览

gcc - 无法在库中找到对标准库数学函数的引用

我有几个使用共享库的程序。这些共享库依次使用各种标准 C 库。IE

程序 A 和程序 B 都使用共享库 S。共享库 S 使用标准 C 数学。我希望能够将共享库 S 与标准库静态链接,然后将程序 A 和 B 与 S 静态链接,这样我就不必在库文件中拖拽,因为这些程序将在运行 BusyBox 0.61 的嵌入式系统。但是,当我尝试将程序静态链接到共享库 S 时,我从 GCC 收到一条错误消息,指出:

有人可以帮我吗?我正在使用的 make 命令如下:

编辑:链接共享库编译得很好,我只是还没有测试出来

0 投票
1 回答
1314 浏览

boost - 使用 GumROS 在 Gumstix Overo 上使用的交叉编译 Boost

我正在尝试交叉编译 boost 以与 Gumstix Overo 上的 ROS 框架一起使用。我一直按照此处发布的说明进行操作(在需要时修改脚本),但是我遇到了 bjam 无法正确编译 boost 的问题。

我叫 bjam 如下:

我已经检查了用户配置以确保一切都是洁净的,并确保 GPP_PATH 是正确的。但是,当我运行脚本时,我遇到了编译错误,例如:

正在读取包列表... 完成 构建依赖关系树 正在读取状态信息... 完成 bjam 已经是最新版本。0 升级,0 新安装,0 删除,5 未升级。...耐心... ...找到 14370 个目标... ...更新 14 个目标... gcc.compile.c++ bin.v2/libs/date_time/build/gcc-4.3.3/release/threading- multi/gregorian/greg_month.o g++:尝试执行“cc1plus”时出错:execvp:没有这样的文件或目录

-ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -fPIC -DBOOST_ALL_DYN_LINK=1 -DBOOST_ALL_NO_LIB=1 -DDATE_TIME_INLINE -DNDEBUG -I"。" -c -o "bin.v2/libs/date_time/build/gcc-4.3.3/release/threading-multi/gregorian/greg_month.o" "libs/date_time/src/gregorian/greg_month.cpp"

...失败 gcc.compile.c++ bin.v2/libs/date_time/build/gcc-4.3.3/release/threading-multi/gregorian/greg_month.o ... gcc.compile.c++ bin.v2/libs/ date_time/build/gcc-4.3.3/release/threading-multi/gregorian/greg_weekday.o g++:尝试执行“cc1plus”时出错:execvp:没有这样的文件或目录

-ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -fPIC -DBOOST_ALL_DYN_LINK=1 -DBOOST_ALL_NO_LIB=1 -DDATE_TIME_INLINE -DNDEBUG -I"。" -c -o "bin.v2/libs/date_time/build/gcc-4.3.3/release/threading-multi/gregorian/greg_weekday.o" "libs/date_time/src/gregorian/greg_weekday.cpp"

...失败 gcc.compile.c++ bin.v2/libs/date_time/build/gcc-4.3.3/release/threading-multi/gregorian/greg_weekday.o ... gcc.compile.c++ bin.v2/libs/ date_time/build/gcc-4.3.3/release/threading-multi/gregorian/date_generators.o g++:尝试执行“cc1plus”时出错:execvp:没有这样的文件或目录

ETC...

作为参考,我正在使用本教程来帮助我。http://www.ros.org/wiki/gumros

0 投票
1 回答
173 浏览

linux - 从 mingw32 编译的 lib/a 文件中获取 DLL 名称

我正在更改我们的构建系统以处理交叉编译和打包。

运送依赖项的 DLL 是很常见的事情,但 CMake 的 FindXXX 模块(./configure 检查)不提供这些 DLL 的路径,而只提供 .a 文件的路径。我很快查看了 .a 库,它们似乎都包含 DLL 的名称。

从Linux构建机器上的.a文件中提取它们的正确方法是什么[PS:每个.a的DLL文件名]?

0 投票
1 回答
1310 浏览

ubuntu - 在 32 位系统上安装 64 位 glib2 以进行交叉编译

我正在尝试在 32 位 ubuntu 系统上交叉编译 64 位可执行文件。这一直有效,直到链接,由于缺少 64 位 glib2 (libglib-2.0.a) 而失败。

如果我在 64 位系统上执行此操作,我会使用getlibs将 32 位 glib2 安装到 /usr/lib32 中。然而,在 32 位机器上 getlibs 似乎没有做相反的事情——将 64 位 glib2 安装到 /usr/lib64 中。

我的问题是:我如何手动做getlibs应该做的,即安装一个64位的glib2到/usr/lib64?