【问题标题】:C++ wxWidgets: cross compilation from Raspberry Pi 3C++ wxWidgets:来自 Raspberry Pi 3 的交叉编译
【发布时间】:2021-09-05 09:32:52
【问题描述】:

我有一个使用 WxWidgets 的 C++ 应用程序。它可以在我的计算机上使用 g++ 完美编译。

但是我需要在 Raspberry Pi 3 上运行应用程序。直接在 Raspi 上编译需要将近一个小时。

所以我想做一个交叉编译:在我的电脑上编译并将可执行文件复制到树莓派。

我尝试按照教程进行操作,但是生成的文件是“x86-64”文件: http://yasriady.blogspot.com/2015/10/how-to-build-wxwidgets-for-raspberry-pi.html

我的电脑:

  • Ubuntu 20.04.2 LTS;
  • g++ 9.3.0;
  • wxWidgets v3.1.5.0;
  • 为我的计算机构建标志: CC_FLAGS=-std=c++17 -w -c -rdynamic -W wx-config --cxxflags --libs --gl-libs geos-config --cflags -lgeos -lglut -lGLU -lGL -lm -lGLEW 。

我应该为 arm 重新安装 wxWidgets 吗?我是交叉编译的新手

非常感谢


我已经为 x86 安装并编译了 wxWidgets。之后,我按照教程为 arm-linux 安装了 wxWidgets。

当我为samples 文件夹中的示例运行“make”时,生成的文件适用于 x86。

也许“make”正在使用 x86 编译器进行编译,而不是新安装的 arm 编译器。

【问题讨论】:

  • @christianpastro,你需要构建你的程序用于树莓派的所有东西。并且您也可以使用make -jN 来加快编译速度。 N是机器中的核心数+1。
  • 如果要交叉编译,需要为树莓派安装合适的SDK、GTK及其依赖项,然后编译检查。
  • 你也可以安装 raspberry pi vm 并在那里进行编译。

标签: raspberry-pi g++ embedded-linux cross-compiling wxwidgets


【解决方案1】:

您应该能够毫无问题地为 RPi 进行交叉编译,仔细检查您是否指定了正确的 --host 选项并且没有从配置中得到任何错误(如果你这样做了,请查看 config.log 到看看为什么)。

【讨论】:

    猜你喜欢
    • 2012-06-28
    • 2019-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 2021-09-12
    相关资源
    最近更新 更多