Linux下使用cmake+Clion搭建讯飞语音项目

Linux下使用cmake+Clion搭建讯飞语音项目

起因

​  本人是linux新手,最近接手了一个项目,需要在linux嵌入式开发板搭建讯飞语音识别项目,在开发过程中遇到了官方SDK不方便编译调试的一些问题,经过一段时间的探索找到了解决方案,在这里分享下。

讯飞语音linuxSDK包简介

  讯飞语音linuxSDK包含讯飞语音识别的API接口,基于linux以“云+端”的形式向开发者提供语音合成、语音识别、语音唤醒、语义理解、人脸识别等多项服务。

使用SDK中遇到的困难

  由于官方给的文档教程使用的方法是通过运行脚本source.sh,调用Makefile在项目根目录的bin文件夹中自动生成可执行文件。再运行该此执行文件使程序在终端中运行。这个过程有如下问题:

  1. Makefile语法复杂且编写麻烦,如何快速地更改项目的编译结构,如增加一个新的源文件并进行编译?
  2. 如何对程序进行调试?

  综上,这些问题对开发新手并不好友好。SDK提供的例程缺少一个适合集成开发的结构,此时我们需要引入一个工具完成开发环境的搭建。

如何解决

  我们可以通过cmake构建讯飞语音项目,并使用集成IDE-Clion进行调试。

cmake简介

  CMake是一个开放源代码,跨平台的工具系列,旨在构建,测试和打包软件。 用于使用简单平台和独立于编译器的配置文件来控制软件编译过程,并生成可在您选择的编译器环境中使用的本机makefile和工作区。

  cmake的官方网站是https://cmake.org

使用CLion快速搭建cmake项目

  CLion是款专为开发C/C++所设计的跨平台IDE,支持从现有工程文件夹中创建cmake项目。

安装CLion

  CLion官网及下载地址

扫描二维码关注公众号,回复: 12427039 查看本文章

  学生党可以通过学生认证白嫖Clion,附上白嫖教程(/doge)  白嫖教程

搭建工程具体步骤

  1. 新建目录IflycmakeTest,将SDK中的bin,include,libs等相关编译文件复制到IflycmakeTest目录下,

  2. 在新建目录下添加main.c。

  3. (重点来了),使用CLion从sources中创建新的cmake project。此时原有的文件夹中出现cmake-build-debug文件夹和CMakeLists文件。我们重点关注这个CMakeLists
    在这里插入图片描述

    此时产生CMakeLists文件如下:

    cmake_minimum_required(VERSION 3.17)
    project(IflycmakeTest C)
    
    set(CMAKE_C_STANDARD 11)
    
    include_directories(include)
    include_directories(include/aiui)
    
    add_executable(IflycmakeTest
            include/aiui/AIUI.h
            include/aiui/AIUICommon.h
            include/aiui/AIUIConstant.h
            include/aiui/AIUIErrorCode.h
            include/aiui/AIUIType.h
            include/msp_cmn.h
            include/msp_errors.h
            include/msp_types.h
            include/qise.h
            include/qisr.h
            include/qivw.h
            include/qtts.h
            main.c)
    
    

    编辑CMakeLists

    在第五行添加

    set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
    include_directories(./libs/x64)
    link_directories(./libs/x64)
    

    设置可执行文件在bin目录中输出并添加链接库的查找路径

    注意!如果是32位的系统这里需要改成x86

    在末行添加

    target_link_libraries(iflytek_awaken_asr msc -lpthread -lm -lasound)
    

    完成对各链接库的添加

  4. 添加main文件的内容

    以语音听写为例:

    ​ 将XunFeiSDK/samples/iat_online_sample文件夹中的iat_online_sample.c内全部文本复制到main.c

  5. 保存后点击run运行。

    ​ 如果不能运行,请在终端输入下列指令安装库

     sudo apt-get install alsa-oss
     sudo apt-get install libasound2-dev
    

    ​ 成功后程序将在控制台中正常运行语音听写的程序,并可以通过CLion调试。

结语

  完成上述操作便可得到linux下讯飞语音项目的模板,如果自己需要添加新的源文件,请参考cmake的规则更改CMakeLists完成对项目的匹配。

  以上便是Linux下使用cmake搭建讯飞语音项目的具体方法,与学习技术的大家共勉。

  最后,如果觉得文章有帮助的话请帮忙点个赞呗。

猜你喜欢

转载自blog.csdn.net/weixin_43096546/article/details/111494900