如何知道我在 YOCTO 上使用的是哪个版本的交叉编译器?
How to know what version of cross compiler I am using on YOCTO?
我正在使用 YOCTO 项目为我的嵌入式板构建 Linux 发行版。构建后,我需要使用 交叉编译器 从我的主机编译应用程序以在我的 board.I 上执行刚刚输入命令 Bitbake meta -工具链。现在我可以在我的主机上编译代码了。我只想知道名称是什么以及我使用的是什么版本的编译器?我怎么知道这个?有没有办法了解有关构建的工具链的更多信息?谢谢。
首先,最好编写一个方法来构建您的应用程序,而不是手动构建它。
编译器是GCC,看meta/recipes-devtools/gcc
就知道是什么版本了。
实际上,由于 meta/recipes-devtools/gcc
包含可用的 cross-compiler 版本,但没有关于正在构建的版本的信息,您可以通过执行以下命令检查当前的 cross-compiler 版本:
bitbake -e | grep "^GCCVERSION="
为了检查构建系统的工具链配置,你可以参考变量TCMODE
(它应该在发行版配置文件中设置;例如poky.conf
),你可以检索它通过发出以下命令获得实际值:
bitbake -e | grep "^TCMODE="
然后,您会在 poky/meta/conf/distro/include/tcmode-${TCMODE}.conf
中找到 GCCVERSION
以及其余的工具链配置变量。请注意,上述文件中的变量可以在其他配置文件中被覆盖或重新分配,例如 conf/local.conf
(这就是为什么 bitbake -e
应该用来检索其实际值)。
如果您使用的是 SDK
如果您使用的是Yocto-generated SDK,您可以直接执行<cross-compiler> --version
,例如:
arm-poky-linux-gnueabi-gcc --version
要检查构建系统中正在使用的 cross-compiler 的名称,您可以:
bitbake -e | grep "^export CC="
我正在使用 YOCTO 项目为我的嵌入式板构建 Linux 发行版。构建后,我需要使用 交叉编译器 从我的主机编译应用程序以在我的 board.I 上执行刚刚输入命令 Bitbake meta -工具链。现在我可以在我的主机上编译代码了。我只想知道名称是什么以及我使用的是什么版本的编译器?我怎么知道这个?有没有办法了解有关构建的工具链的更多信息?谢谢。
首先,最好编写一个方法来构建您的应用程序,而不是手动构建它。
编译器是GCC,看meta/recipes-devtools/gcc
就知道是什么版本了。
实际上,由于 meta/recipes-devtools/gcc
包含可用的 cross-compiler 版本,但没有关于正在构建的版本的信息,您可以通过执行以下命令检查当前的 cross-compiler 版本:
bitbake -e | grep "^GCCVERSION="
为了检查构建系统的工具链配置,你可以参考变量TCMODE
(它应该在发行版配置文件中设置;例如poky.conf
),你可以检索它通过发出以下命令获得实际值:
bitbake -e | grep "^TCMODE="
然后,您会在 poky/meta/conf/distro/include/tcmode-${TCMODE}.conf
中找到 GCCVERSION
以及其余的工具链配置变量。请注意,上述文件中的变量可以在其他配置文件中被覆盖或重新分配,例如 conf/local.conf
(这就是为什么 bitbake -e
应该用来检索其实际值)。
如果您使用的是 SDK
如果您使用的是Yocto-generated SDK,您可以直接执行<cross-compiler> --version
,例如:
arm-poky-linux-gnueabi-gcc --version
要检查构建系统中正在使用的 cross-compiler 的名称,您可以:
bitbake -e | grep "^export CC="