c++ - 无法为 arm 工具链找到 GCC 代码覆盖率 libgcov.so
问题描述
重现问题的步骤
#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:找不到-lgcov collect2 : 错误: ld 返回 1 个退出状态
问题陈述
如何为 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 构建系统构建应用程序
位烘烤
将 /tmp/deploy/ 生成的 libgcov.so 复制到 /opt/poky/1.6.1/sysroots/i686-pokysdk-linux/usr/lib/
使用 g++ 触发构建
推荐阅读
- ios - 如何将 .gif 文件加载到开发中的 pod
- android - hashSet上的android空指针异常
- c# - 2D 相机跟随 - 游戏对象在跳跃时闪烁
- ios - UIPageViewController页面切换时避免iOS状态栏抖动
- python - LeaveOneOut 来确定 knn 的 k
- nfc - 认识 NFC 卡上使用了哪种技术?
- stack - PBS 堆栈大小保持不变
- python - 过滤 pandas 数据框,在 tkinter/pandastable 中显示
- django - 动态属性的Django模型配置
- php - php排序数组的-array_merge之后的ksort没有任何区别