无法找到 arm 工具链的 GCC 代码覆盖率 libgcov.so
Unable to find GCC Code coverage libgcov.so for arm toolchain
重现问题的步骤
#include<iostream>
int main(){
std::cout << "Hello World" << std::endl;
}
写入main.cpp
-
使用以下命令编译。
- 。 /opt/poky/1.6/environment-setup-armv7a-vfp-neon-poky-linux-gnueabi
- arm-poky-linux-gnueabi-g++ main.cpp -o main --coverage
会出现如下错误。
错误
/opt/poky/1.6.1/sysroots/i686-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.8.3/ld:
cannot find -lgcov collect2: error: ld returned 1 exit status
问题陈述
如何为 ARM poky 工具链生成 libgcov.so 文件?
-fprofile-args --coverage -ftest-coverage
我可以通过安装
使用 x86 linux g++ 编译器生成代码覆盖率报告
- sudo apt-get install gcovr
- g++ main.cpp -o main --coverage
是否有任何源代码或 git 存储库,我可以从中为 ARM poky 工具链生成 libgcov.so 文件?或者是否有任何解决方案可以从 ARM poky 工具链中获取程序的覆盖率?
我已尝试将以下存储库克隆并编译为库,但问题未解决。
如何在 Ubuntu 18.04 上为使用 ARM 工具链(poky 1.6)编写的程序生成代码覆盖率报告文件?
使用 yocto 构建系统构建应用程序
bitbake
将/tmp/deploy/生成的libgcov.so复制到/opt/poky/1.6.1/sysroots/i686-pokysdk-linux/usr/lib/
使用 g++ 触发构建
重现问题的步骤
#include<iostream>
int main(){
std::cout << "Hello World" << std::endl;
}
写入main.cpp
使用以下命令编译。
- 。 /opt/poky/1.6/environment-setup-armv7a-vfp-neon-poky-linux-gnueabi
- arm-poky-linux-gnueabi-g++ main.cpp -o main --coverage
会出现如下错误。
错误
/opt/poky/1.6.1/sysroots/i686-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.8.3/ld: cannot find -lgcov collect2: error: ld returned 1 exit status
问题陈述
如何为 ARM poky 工具链生成 libgcov.so 文件?
-fprofile-args --coverage -ftest-coverage
我可以通过安装
使用 x86 linux g++ 编译器生成代码覆盖率报告- sudo apt-get install gcovr
- g++ main.cpp -o main --coverage
是否有任何源代码或 git 存储库,我可以从中为 ARM poky 工具链生成 libgcov.so 文件?或者是否有任何解决方案可以从 ARM poky 工具链中获取程序的覆盖率?
我已尝试将以下存储库克隆并编译为库,但问题未解决。
如何在 Ubuntu 18.04 上为使用 ARM 工具链(poky 1.6)编写的程序生成代码覆盖率报告文件?
使用 yocto 构建系统构建应用程序
bitbake
将/tmp/deploy/生成的libgcov.so复制到/opt/poky/1.6.1/sysroots/i686-pokysdk-linux/usr/lib/
使用 g++ 触发构建