打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
[ 编译篇 ] 嵌入式平台 使用GoogleTest框架测试C++代码

实际项目中写的应用层代码为了保证可靠性,需要编写一定的测试用例,进行单元测试。 这里以GoogleTest为例 ,在嵌入式平台上(Amlogic A113x 平台)实现应用层代码的测试。

编译官方 GoogleTest

下载官方源码

git clone  git@github.com:google/googletest.git

cmake 编译源码

cd  googletest-release-1.8.0/googletest// 新建cmake 构建目录mkdir mybuild  // cmake 构建cmake ../ //编译make 

如果需要构建Google Test的示例,使用以下命令替换cmake …/

cmake -Dgtest_build_samples=ON ${GTEST_DIR}

这里为止,完成了在Ubuntu 16.04平台上构建GoogleTest 的步骤,详细构建可查看官网文档


这里的重点的是怎么在嵌入式平台上(Amlogic A113x 平台)构建GoogleTest

基本思路: 使用arm交叉编译器编译GoogleTest, 生成可调用的动态库,应用层通过调用GoogleTest动态库完成测试用例的编写

指定arm交叉编译器

GoogleTest默认使用CMake构建,这里通过修改googletest-release-1.8.0/googletest/CMakeLists.txt,指定 Amlogic A113x 平台使用的编译器, 如下

set(CMAKE_SYSTEM_NAME Linux)set(CMAKE_SYSTEM_PROCESSOR arm)//根据实际情况,指定交叉编译的路径set(tools /opt/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf)//分别指定C和C++编译器 set(CMAKE_C_COMPILER ${tools}/bin/arm-linux-gnueabihf-gcc)set(CMAKE_CXX_COMPILER ${tools}/bin/arm-linux-gnueabihf-g++)

CMake中如何指定编译器,官方文档中有详细描述

生成动态库文件

方便应用层编写测试用例,这里需要编译出动态库。 还是修改`googletest-release-1.8.0/googletest/CMakeLists.txt

option(BUILD_SHARED_LIBS "Build shared libraries (DLLs)." OFF)改为option(BUILD_SHARED_LIBS "Build shared libraries (DLLs)." ON)//同时也打开编译出示例程序选项option(gtest_build_samples "Build gtest's sample programs." ON)
编译

编译完成之后,主要libgtest.so和libgtest_main.so两个动态库,给应用层调用


参考
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
盘点Visual Studio 2022 17.4 给C++开发者带来的新东西
CMake编译工具与项目构建
高效率嵌入式程序开发
多核嵌入式处理器开发工具及技术方案
ARM程序优化及其在嵌入式TCP/IP协议实现中的应用[嵌入式系统]
手把手教你在Keil MDK中使用GCC编译器工具链
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服