【发布时间】: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-libsgeos-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