0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【潤和軟件DAYU200開發(fā)板體驗(yàn)】移植speexdsp到OpenHarmony標(biāo)準(zhǔn)系統(tǒng)①

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-10-12 10:33 ? 次閱讀

本文來源電子發(fā)燒友社區(qū),作者:離北況歸, 帖子地址:https://bbs.elecfans.com/jishu_2308794_1_1.html


由于想要分享的內(nèi)容較多,為避免觀眾姥爺們失去看下去的耐心,分享將以連載的方式進(jìn)行。


本期為移植speexdspOpenHarmony標(biāo)準(zhǔn)系統(tǒng)的第①期,主要內(nèi)容如下:

image.png

Speexdsp

提到Speexdsp不得不先提到開源語音編解碼器Speex
image.png

如下是ACM Surveys中收錄的標(biāo)題為《Survey on Application-Layer Mechanisms for Speech Quality Adaptation in VoIP》綜述中的一張圖表。

  • 它總結(jié)了一些常用的可變比特率編解碼器,并且做了性能方面的比較。
  • 其中唯一Open-source開源的兩個(gè)編解碼器之一就是speex。

image.png

image.png

  • 2007年12月11日Speex1.2beta3中首次將Speex中所有非編解碼器組件(預(yù)處理器、回聲消除、抖動(dòng)緩沖區(qū))都已移至新的libspeexdsp中。
  • 2014年12月6日推出的Speex 1.2rc2和SpeexDSP1.2rc2正式將speex編解碼器庫和speexDSP庫拆分為單獨(dú)的源代碼。

Speexdsp功能

預(yù)處理器

預(yù)處理器被設(shè)計(jì)為在運(yùn)行編碼器之前在音頻上使用。預(yù)處理器提供三個(gè)主要功能:

  • 噪聲抑制
  • 自動(dòng)增益控制(AGC)
  • 語音活動(dòng)檢測(cè)(VAD)

自適應(yīng)抖動(dòng)緩沖區(qū)

  • 當(dāng)通過UDP或RTP傳輸語音(或任何相關(guān)內(nèi)容)時(shí),包可能會(huì)丟失,以不同的延遲到達(dá),甚至亂序。
  • 抖動(dòng)緩沖區(qū)的目的是重新排序數(shù)據(jù)包,并緩沖足夠長(zhǎng)的時(shí)間,以便它們可以被發(fā)送以進(jìn)行解碼。

聲學(xué)回聲消除器

回聲消除是為了提高遠(yuǎn)端質(zhì)量

  • 在任何免提通信系統(tǒng)中,遠(yuǎn)端語音通過本地?fù)P聲器播放。音頻在房間內(nèi)傳播,并被麥克風(fēng)捕獲。如果從麥克風(fēng)捕獲的音頻被直接發(fā)送到遠(yuǎn)程端,那么用戶就會(huì)聽到遠(yuǎn)端語音的回聲。聲學(xué)回聲消除器設(shè)計(jì)用于在聲學(xué)回聲發(fā)送到遠(yuǎn)端之前消除它。

重采樣器

這個(gè)重采樣器可以用于在任意兩個(gè)速率之間進(jìn)行轉(zhuǎn)換(比率必須是有理數(shù)),并且可以控制質(zhì)量/復(fù)雜性的權(quán)衡。

  • 重采樣器在某些情況下將音頻從一個(gè)采樣率轉(zhuǎn)換到另一個(gè)采樣率。
  • 它可以用于混合具有不同采樣率的流、用于支持聲卡不支持的采樣率、用于轉(zhuǎn)碼等。

Speexdsp移植到OpenHarmony標(biāo)準(zhǔn)系統(tǒng)

OpenHarmony三方庫主要是基于標(biāo)準(zhǔn) Linux 系統(tǒng)的 c/c++ 開源庫,所以三方庫的移植工作,首先是在標(biāo)準(zhǔn) Linux 系統(tǒng)搭建環(huán)境、編譯與驗(yàn)證,然后將三方庫的編譯加入到 OpenHarmony 工程的構(gòu)建中。

三方庫移植的主要開發(fā)步驟如下:

  1. 在標(biāo)準(zhǔn)Linux系統(tǒng)下載三方庫源碼,搭建開發(fā)環(huán)境,編譯整個(gè)源碼工程;
  2. 分析在標(biāo)準(zhǔn)Linux系統(tǒng)的編譯過程文件,提取編譯需要的源文件、編譯依賴等信息;
  3. 根據(jù)上一步分析結(jié)果,編寫gn文件,將三方庫加入到OpenHarmony的編譯體系;
  4. 驗(yàn)證編譯結(jié)果,在OpenHarmony的out目錄是否生成目標(biāo)庫;
  5. 測(cè)試demo/測(cè)試單元用例執(zhí)行。

一、下載源碼

  • 下載三方庫源碼時(shí),優(yōu)先使用最新版,不要下載master分支,下載最新的版本分支。
    移植speexdsp下載的是1.2.1版本。

Speexdsp源碼下載地址:https://github.com/xiph/speexdsp

五年級(jí).png

二、搭建開發(fā)環(huán)境,生成Makefile編譯構(gòu)建speexdsp。

  • 不同的原生三方庫提供的編譯方式不相同,根據(jù)原生三方庫的readme文件或者manual用戶手冊(cè)可以知道該如何編譯

Speexdsp在linux下的編譯安裝,在linux終端輸入如下語句:

  • 安裝make工具。
sudo apt-get install make
  • 安裝autoAutotools工具
sudo apt-get install autoconf automake libtool

GNU Autotools框架包括三個(gè)主要的包:Autoconf,Automake,和Libtool。

GNU軟件的構(gòu)建過程,一般來說, 包含三個(gè)步驟:
tar xfv xxx.tar.gz
./configure
make
make install
該過程一般依賴兩個(gè)文件, configure和Makefile文件。

  • Autoconf/Automake就是一套用于自動(dòng)構(gòu)建configure腳本和Makefile文件的工具。
  • 一般使用Makefile.am構(gòu)建的三方庫,原生庫中存在autogen.sh,configure.ac文件。由makefile.am自動(dòng)生成makefile。
./autogen.sh
  • ./autogen.sh之后我們可以運(yùn)行./configure --help查看configure配置
./configure --help
jiajiahao@ubuntu:~/Desktop/SpeexDSP-1.2.1$ ./configure --help
`configure' configures speexdsp 1.2.1 to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking ...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc.  You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root [DATAROOTDIR/doc/speexdsp]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]

Program names:
  --program-prefix=PREFIX            prepend PREFIX to installed program names
  --program-suffix=SUFFIX            append SUFFIX to installed program names
  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --enable-silent-rules   less verbose build output (undo: "make V=1")
  --disable-silent-rules  verbose build output (undo: "make V=0")
  --disable-maintainer-mode
                          disable make rules and dependencies not useful (and
                          sometimes confusing) to the casual installer
  --enable-shared[=PKGS]  build shared libraries [default=yes]
  --enable-static[=PKGS]  build static libraries [default=yes]
  --enable-fast-install[=PKGS]
                          optimize for fast installation [default=yes]
  --enable-dependency-tracking
                          do not reject slow dependency extractors
  --disable-dependency-tracking
                          speeds up one-time build
  --disable-libtool-lock  avoid locking (might break parallel builds)
  --enable-sse            Enable SSE support
  --enable-neon           Enable NEON support
  --enable-fixed-point    Compile as fixed-point
  --disable-float-api     Disable the floating-point API
  --disable-examples      Do not build example programs, only the library
  --enable-arm4-asm       Make use of ARM4 assembly optimizations
  --enable-arm5e-asm      Make use of ARM5E assembly optimizations
  --enable-blackfin-asm   Make use of Blackfin assembly optimizations
  --enable-fixed-point-debug  Debug fixed-point implementation
  --enable-resample-full-sinc-table Resample full SINC table (no interpolation)
  --enable-ti-c55x        Enable support for TI C55X DSP

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                          both]
  --with-aix-soname=aix|svr4|both
                          shared library versioning (aka "SONAME") variant to
                          provide on AIX, [default=aix].
  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
  --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
                          compiler's sysroot if not specified).
  --with-fft=choice       use an alternate FFT implementation. The available
                          choices are kiss (default fixed point), smallft
                          (default floating point), gpl-fftw3 and
                          proprietary-intel-mkl

Some influential environment variables:
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -Ldir> if you have libraries in a
              nonstandard directory dir>
  LIBS        libraries to pass to the linker, e.g. -l
  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
  LT_SYS_LIBRARY_PATH
              User-defined run-time library search path.
  CPP         C preprocessor
  PKG_CONFIG  path to pkg-config utility
  PKG_CONFIG_PATH
              directories to add to pkg-config's search path
  PKG_CONFIG_LIBDIR
              path overriding pkg-config's built-in search path
  FFT_CFLAGS  C compiler flags for FFT, overriding pkg-config
  FFT_LIBS    linker flags for FFT, overriding pkg-config

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

Report bugs to .
@xiph.org>
  • 在下載到linux中的speexdsp中新建build目錄
mkdir build
  • 運(yùn)行configure命令來生成Makefile。
./configure --prefix=/XXX/speexdsp/build -disable-sse

SSE是一個(gè)X86平臺(tái)的指令集,所以要移植speexdsp到OpenHarmony過程,configure時(shí)要disable掉sse這個(gè)配置。否則在加入OpenHarmony編譯體系后生成libspeexdsp_share.z.so和在ohos上執(zhí)行的可執(zhí)行文件編譯過程中會(huì)報(bào)錯(cuò)。

在linux上生成speexdsp的so動(dòng)態(tài)鏈接庫和.a靜態(tài)鏈接庫

  • make和make install后會(huì)生成speexdsp的.so動(dòng)態(tài)鏈接庫和.a靜態(tài)鏈接庫
make
make install

編譯安裝后build目錄結(jié)構(gòu)如下:
image.png

整個(gè)編譯安裝過程終端輸出log如下:

jiajiahao@ubuntu:~/Desktop/speexdsp-SpeexDSP-1.2.1$ ./autogen.sh
Updating build configuration files, please wait....
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
configure.ac:26: installing './compile'
configure.ac:24: installing './config.guess'
configure.ac:24: installing './config.sub'
configure.ac:21: installing './install-sh'
configure.ac:21: installing './missing'
libspeexdsp/Makefile.am: installing './depcomp'
jiajiahao@ubuntu:~/Desktop/speexdsp-SpeexDSP-1.2.1$ mkdir build
jiajiahao@ubuntu:~/Desktop/speexdsp-SpeexDSP-1.2.1$ ./configure --prefix=/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build -disable-sse
checking whether make supports nested variables... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking how to print strings... printf
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... dlltool
checking how to associate runtime and link libraries... printf %sn
checking for ar... ar
checking for archiver [url=home.php?mod=space&uid=1455510]@file[/url] support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking whether byte ordering is bigendian... no
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for C/C++ restrict keyword... __restrict
checking for C99 variable-size arrays... yes
checking for SSE in current arch/CFLAGS... yes
checking for SSE2 in current arch/CFLAGS... yes
checking for NEON in current arch/CFLAGS... no
checking for ELF visibility... yes
checking sys/soundcard.h usability... yes
checking sys/soundcard.h presence... yes
checking for sys/soundcard.h... yes
checking sys/audioio.h usability... no
checking sys/audioio.h presence... no
checking for sys/audioio.h... no
checking for cos in -lm... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking size of int16_t... 2
checking size of uint16_t... 2
checking size of u_int16_t... 2
checking size of int32_t... 4
checking size of uint32_t... 4
checking size of u_int32_t... 4
checking size of short... 2
checking size of int... 4
checking size of long... 8
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libspeexdsp/Makefile
config.status: creating doc/Makefile
config.status: creating SpeexDSP.spec
config.status: creating include/Makefile
config.status: creating include/speex/Makefile
config.status: creating speexdsp.pc
config.status: creating win32/Makefile
config.status: creating win32/libspeexdsp/Makefile
config.status: creating symbian/Makefile
config.status: creating win32/VS2003/Makefile
config.status: creating win32/VS2003/libspeexdsp/Makefile
config.status: creating win32/VS2003/tests/Makefile
config.status: creating win32/VS2005/Makefile
config.status: creating win32/VS2005/libspeexdsp/Makefile
config.status: creating win32/VS2005/tests/Makefile
config.status: creating win32/VS2008/Makefile
config.status: creating win32/VS2008/libspeexdsp/Makefile
config.status: creating win32/VS2008/tests/Makefile
config.status: creating include/speex/speexdsp_config_types.h
config.status: creating ti/Makefile
config.status: creating ti/speex_C54_test/Makefile
config.status: creating ti/speex_C55_test/Makefile
config.status: creating ti/speex_C64_test/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
Type "make; make install" to compile and install Speex
jiajiahao@ubuntu:~/Desktop/speexdsp-SpeexDSP-1.2.1$ make
make  all-recursive
make[1]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1”
Making all in libspeexdsp
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/libspeexdsp”
  CC       preprocess.lo
  CC       jitter.lo
  CC       mdf.lo
  CC       fftwrap.lo
  CC       filterbank.lo
  CC       resample.lo
  CC       buffer.lo
  CC       scal.lo
  CC       smallft.lo
  CCLD     libspeexdsp.la
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/libspeexdsp”
Making all in include
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/include”
Making all in speex
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/include/speex”
make[3]: 對(duì)“all”無需做任何事。
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/include/speex”
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/include”
make[3]: 對(duì)“all-am”無需做任何事。
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/include”
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/include”
Making all in doc
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/doc”
make[2]: 對(duì)“all”無需做任何事。
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/doc”
Making all in win32
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32”
Making all in libspeexdsp
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/libspeexdsp”
make[3]: 對(duì)“all”無需做任何事。
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/libspeexdsp”
Making all in VS2003
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003”
Making all in libspeexdsp
make[4]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003/libspeexdsp”
make[4]: 對(duì)“all”無需做任何事。
make[4]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003/libspeexdsp”
Making all in tests
make[4]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003/tests”
make[4]: 對(duì)“all”無需做任何事。
make[4]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003/tests”
make[4]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003”
make[4]: 對(duì)“all-am”無需做任何事。
make[4]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003”
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003”
Making all in VS2005
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005”
Making all in libspeexdsp
make[4]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005/libspeexdsp”
make[4]: 對(duì)“all”無需做任何事。
make[4]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005/libspeexdsp”
Making all in tests
make[4]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005/tests”
make[4]: 對(duì)“all”無需做任何事。
make[4]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005/tests”
make[4]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005”
make[4]: 對(duì)“all-am”無需做任何事。
make[4]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005”
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005”
Making all in VS2008
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008”
Making all in libspeexdsp
make[4]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008/libspeexdsp”
make[4]: 對(duì)“all”無需做任何事。
make[4]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008/libspeexdsp”
Making all in tests
make[4]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008/tests”
make[4]: 對(duì)“all”無需做任何事。
make[4]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008/tests”
make[4]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008”
make[4]: 對(duì)“all-am”無需做任何事。
make[4]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008”
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008”
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32”
make[3]: 對(duì)“all-am”無需做任何事。
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32”
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32”
Making all in symbian
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/symbian”
make[2]: 對(duì)“all”無需做任何事。
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/symbian”
Making all in ti
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti”
Making all in speex_C54_test
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti/speex_C54_test”
make[3]: 對(duì)“all”無需做任何事。
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti/speex_C54_test”
Making all in speex_C55_test
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti/speex_C55_test”
make[3]: 對(duì)“all”無需做任何事。
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti/speex_C55_test”
Making all in speex_C64_test
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti/speex_C64_test”
make[3]: 對(duì)“all”無需做任何事。
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti/speex_C64_test”
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti”
make[3]: 對(duì)“all-am”無需做任何事。
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti”
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti”
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1”
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1”
make[1]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1”
jiajiahao@ubuntu:~/Desktop/speexdsp-SpeexDSP-1.2.1$ make install
Making install in libspeexdsp
make[1]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/libspeexdsp”
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/libspeexdsp”
 /usr/bin/mkdir -p '/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/lib'
 /bin/sh ../libtool   --mode=install /usr/bin/install -c   libspeexdsp.la '/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/lib'
libtool: install: /usr/bin/install -c .libs/libspeexdsp.so.1.5.2 /home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/lib/libspeexdsp.so.1.5.2
libtool: install: (cd /home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/lib && { ln -s -f libspeexdsp.so.1.5.2 libspeexdsp.so.1 || { rm -f libspeexdsp.so.1 && ln -s libspeexdsp.so.1.5.2 libspeexdsp.so.1; }; })
libtool: install: (cd /home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/lib && { ln -s -f libspeexdsp.so.1.5.2 libspeexdsp.so || { rm -f libspeexdsp.so && ln -s libspeexdsp.so.1.5.2 libspeexdsp.so; }; })
libtool: install: /usr/bin/install -c .libs/libspeexdsp.lai /home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/lib/libspeexdsp.la
libtool: install: /usr/bin/install -c .libs/libspeexdsp.a /home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/lib/libspeexdsp.a
libtool: install: chmod 644 /home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/lib/libspeexdsp.a
libtool: install: ranlib /home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/lib/libspeexdsp.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/sbin" ldconfig -n /home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[2]: 對(duì)“install-data-am”無需做任何事。
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/libspeexdsp”
make[1]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/libspeexdsp”
Making install in include
make[1]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/include”
Making install in speex
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/include/speex”
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/include/speex”
make[3]: 對(duì)“install-exec-am”無需做任何事。
 /usr/bin/mkdir -p '/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/include/speex'
 /usr/bin/install -c -m 644 speexdsp_config_types.h '/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/include/speex'
 /usr/bin/mkdir -p '/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/include/speex'
 /usr/bin/install -c -m 644 speex_echo.h speex_jitter.h speex_preprocess.h speex_resampler.h speexdsp_types.h '/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/include/speex'
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/include/speex”
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/include/speex”
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/include”
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/include”
make[3]: 對(duì)“install-exec-am”無需做任何事。
make[3]: 對(duì)“install-data-am”無需做任何事。
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/include”
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/include”
make[1]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/include”
Making install in doc
make[1]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/doc”
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/doc”
make[2]: 對(duì)“install-exec-am”無需做任何事。
 /usr/bin/mkdir -p '/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/share/doc/speexdsp'
 /usr/bin/install -c -m 644 manual.pdf '/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/share/doc/speexdsp'
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/doc”
make[1]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/doc”
Making install in win32
make[1]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32”
Making install in libspeexdsp
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/libspeexdsp”
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/libspeexdsp”
make[3]: 對(duì)“install-exec-am”無需做任何事。
make[3]: 對(duì)“install-data-am”無需做任何事。
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/libspeexdsp”
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/libspeexdsp”
Making install in VS2003
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003”
Making install in libspeexdsp
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003/libspeexdsp”
make[4]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003/libspeexdsp”
make[4]: 對(duì)“install-exec-am”無需做任何事。
make[4]: 對(duì)“install-data-am”無需做任何事。
make[4]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003/libspeexdsp”
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003/libspeexdsp”
Making install in tests
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003/tests”
make[4]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003/tests”
make[4]: 對(duì)“install-exec-am”無需做任何事。
make[4]: 對(duì)“install-data-am”無需做任何事。
make[4]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003/tests”
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003/tests”
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003”
make[4]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003”
make[4]: 對(duì)“install-exec-am”無需做任何事。
make[4]: 對(duì)“install-data-am”無需做任何事。
make[4]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003”
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003”
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2003”
Making install in VS2005
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005”
Making install in libspeexdsp
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005/libspeexdsp”
make[4]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005/libspeexdsp”
make[4]: 對(duì)“install-exec-am”無需做任何事。
make[4]: 對(duì)“install-data-am”無需做任何事。
make[4]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005/libspeexdsp”
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005/libspeexdsp”
Making install in tests
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005/tests”
make[4]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005/tests”
make[4]: 對(duì)“install-exec-am”無需做任何事。
make[4]: 對(duì)“install-data-am”無需做任何事。
make[4]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005/tests”
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005/tests”
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005”
make[4]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005”
make[4]: 對(duì)“install-exec-am”無需做任何事。
make[4]: 對(duì)“install-data-am”無需做任何事。
make[4]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005”
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005”
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2005”
Making install in VS2008
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008”
Making install in libspeexdsp
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008/libspeexdsp”
make[4]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008/libspeexdsp”
make[4]: 對(duì)“install-exec-am”無需做任何事。
make[4]: 對(duì)“install-data-am”無需做任何事。
make[4]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008/libspeexdsp”
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008/libspeexdsp”
Making install in tests
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008/tests”
make[4]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008/tests”
make[4]: 對(duì)“install-exec-am”無需做任何事。
make[4]: 對(duì)“install-data-am”無需做任何事。
make[4]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008/tests”
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008/tests”
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008”
make[4]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008”
make[4]: 對(duì)“install-exec-am”無需做任何事。
make[4]: 對(duì)“install-data-am”無需做任何事。
make[4]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008”
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008”
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32/VS2008”
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32”
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32”
make[3]: 對(duì)“install-exec-am”無需做任何事。
make[3]: 對(duì)“install-data-am”無需做任何事。
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32”
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32”
make[1]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/win32”
Making install in symbian
make[1]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/symbian”
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/symbian”
make[2]: 對(duì)“install-exec-am”無需做任何事。
make[2]: 對(duì)“install-data-am”無需做任何事。
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/symbian”
make[1]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/symbian”
Making install in ti
make[1]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti”
Making install in speex_C54_test
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti/speex_C54_test”
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti/speex_C54_test”
make[3]: 對(duì)“install-exec-am”無需做任何事。
make[3]: 對(duì)“install-data-am”無需做任何事。
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti/speex_C54_test”
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti/speex_C54_test”
Making install in speex_C55_test
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti/speex_C55_test”
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti/speex_C55_test”
make[3]: 對(duì)“install-exec-am”無需做任何事。
make[3]: 對(duì)“install-data-am”無需做任何事。
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti/speex_C55_test”
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti/speex_C55_test”
Making install in speex_C64_test
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti/speex_C64_test”
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti/speex_C64_test”
make[3]: 對(duì)“install-exec-am”無需做任何事。
make[3]: 對(duì)“install-data-am”無需做任何事。
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti/speex_C64_test”
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti/speex_C64_test”
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti”
make[3]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti”
make[3]: 對(duì)“install-exec-am”無需做任何事。
make[3]: 對(duì)“install-data-am”無需做任何事。
make[3]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti”
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti”
make[1]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/ti”
make[1]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1”
make[2]: 進(jìn)入目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1”
make[2]: 對(duì)“install-exec-am”無需做任何事。
 /usr/bin/mkdir -p '/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/lib/pkgconfig'
 /usr/bin/install -c -m 644 speexdsp.pc '/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/lib/pkgconfig'
make[2]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1”
make[1]: 離開目錄“/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1”

生成在linux上測(cè)試speexdsp功能用的可執(zhí)行文件

編譯生成出在linux上測(cè)試speexdsp功能用的可執(zhí)行文件,目的是為了分析speexdsp在ohos編譯體系生成動(dòng)態(tài)鏈接庫后進(jìn)功能測(cè)試的邏輯

閱讀speexdsp用戶手冊(cè),測(cè)試speexdsp功能的源文件分別為:

  • testdenoise.c
  • testecho.c
  • testjitter.c
  • testresample.c
  • testresample2.c

它們均位于speexdsp下的libspeexdsp。
需要把它們編譯為可運(yùn)行的執(zhí)行文件,通過閱讀用戶手冊(cè)可以知道在編譯時(shí)需要添加-lspeexdsp和-lm

以編譯testresample可執(zhí)行文件為例,編譯執(zhí)行語句如下:
在speexdsp目錄libspeexdsp目錄下打開終端輸入如下語句

gcc testjitter.c -L /home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/build/lib -lspeexdsp -o testjitter -I /home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1/include -lm
  • 其中/home/jiajiahao/Desktop/speexdsp-SpeexDSP-1.2.1為筆者放置speexdsp原生庫linux下的絕對(duì)路徑。
  • 鏈接動(dòng)態(tài)鏈接庫編譯可執(zhí)行文件,gcc后面是測(cè)試用的源文件。-L 后指定so庫所在的文件夾,-l+so庫的名字(出去lib和后綴)。-o 后面是可執(zhí)行文件的名字,-I 后面是測(cè)試用的源文件要用到的頭文件所在的地址。

編譯出全部測(cè)試功能用的可執(zhí)行文件如下:
image.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • dayu200
    +關(guān)注

    關(guān)注

    1

    文章

    26

    瀏覽量

    1177
  • 潤和軟件
    +關(guān)注

    關(guān)注

    1

    文章

    243

    瀏覽量

    848
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    瑞芯微RK3566鴻蒙開發(fā)板OpenHarmony標(biāo)準(zhǔn)系統(tǒng)應(yīng)用兼容性測(cè)試指導(dǎo)

    本文OpenHarmony標(biāo)準(zhǔn)系統(tǒng)應(yīng)用兼容性測(cè)試指導(dǎo),適用鴻蒙系統(tǒng)軟件開發(fā)測(cè)試的新手入門學(xué)習(xí)課程,設(shè)備為觸覺智能的瑞芯微RK3566開發(fā)板,型號(hào)Purple Pi OH。是Laval官
    的頭像 發(fā)表于 09-10 11:56 ?295次閱讀
    瑞芯微RK3566鴻蒙<b class='flag-5'>開發(fā)板</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>標(biāo)準(zhǔn)系統(tǒng)</b>應(yīng)用兼容性測(cè)試指導(dǎo)

    請(qǐng)求推薦無需NPU的OpenHarmony標(biāo)準(zhǔn)系統(tǒng)ARM開發(fā)板

    請(qǐng)教一下大佬們,目前的需求是在國產(chǎn)ARM開發(fā)板上跑OpenHarmony標(biāo)準(zhǔn)系統(tǒng),無需NPU/GPU,其它配置(CPU、RAM等)可以盡量高點(diǎn),價(jià)位在2k以內(nèi),球球推薦!感謝大佬們!
    發(fā)表于 08-16 16:25

    開鴻“龍芯+OpenHarmony開發(fā)平臺(tái)DAYU431先鋒派新品發(fā)布

    開鴻基于全新龍芯2K0300芯片平臺(tái)的重磅新品開鴻HH-SCDAYU431先鋒派開發(fā)平臺(tái)正式上市,成為開鴻DAYU系列產(chǎn)品中符合
    的頭像 發(fā)表于 08-07 14:50 ?433次閱讀
    <b class='flag-5'>潤</b>開鴻“龍芯+<b class='flag-5'>OpenHarmony</b>”<b class='flag-5'>開發(fā)</b>平臺(tái)<b class='flag-5'>DAYU</b>431先鋒派新品發(fā)布

    鴻蒙OpenHarmony【基于Hi3516DV300開發(fā)板(時(shí)鐘應(yīng)用開發(fā))】

    如何快速搭建基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)(Hi3516DV300開發(fā)板)的應(yīng)用開發(fā)環(huán)境,并基于一個(gè)時(shí)鐘APP示例逐步展示應(yīng)用的創(chuàng)建、開發(fā)
    的頭像 發(fā)表于 05-08 15:27 ?1099次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【基于Hi3516DV300<b class='flag-5'>開發(fā)板</b>(時(shí)鐘應(yīng)用<b class='flag-5'>開發(fā)</b>)】

    鴻蒙OpenHarmony南向:【Hi3516標(biāo)準(zhǔn)系統(tǒng)入門(命令行方式)】

    除小型系統(tǒng)外,Hi3516DV300開發(fā)板還支持標(biāo)準(zhǔn)系統(tǒng)。此章節(jié)簡(jiǎn)要介紹如何使用命令行在Hi3516DV300開發(fā)板上進(jìn)行標(biāo)準(zhǔn)系統(tǒng)
    的頭像 發(fā)表于 05-08 09:26 ?798次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>南向:【Hi3516<b class='flag-5'>標(biāo)準(zhǔn)系統(tǒng)</b>入門(命令行方式)】

    鴻蒙OpenHarmony標(biāo)準(zhǔn)系統(tǒng) 運(yùn)行】(基于RK3568開發(fā)板

    燒錄完成重啟開發(fā)板后,系統(tǒng)將會(huì)自動(dòng)啟動(dòng)。開發(fā)板附帶的屏幕呈現(xiàn)以下界面,表明系統(tǒng)已運(yùn)行成功。
    的頭像 發(fā)表于 05-06 15:38 ?428次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【<b class='flag-5'>標(biāo)準(zhǔn)系統(tǒng)</b> 運(yùn)行】(基于RK3568<b class='flag-5'>開發(fā)板</b>)

    OpenHarmony開發(fā)實(shí)例:【電話簿聯(lián)系人Contacts】

    Contacts應(yīng)用是基于OpenHarmony SDK開發(fā)的安裝在和HiSpark Taurus AI Camera(Hi3516d)開發(fā)板標(biāo)準(zhǔn)
    的頭像 發(fā)表于 04-23 09:44 ?694次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發(fā)</b>實(shí)例:【電話簿聯(lián)系人Contacts】

    OpenHarmony開發(fā)實(shí)例:【 待辦事項(xiàng)TodoList】

    TodoList應(yīng)用是基于OpenHarmony SDK開發(fā)的安裝在和HiSpark Taurus AI Camera(Hi3516d)開發(fā)板標(biāo)準(zhǔn)
    的頭像 發(fā)表于 04-22 22:00 ?652次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發(fā)</b>實(shí)例:【 待辦事項(xiàng)TodoList】

    【鴻蒙】OpenHarmony運(yùn)行docker詳細(xì)步驟

    1.環(huán)境和設(shè)備 系統(tǒng)版本: 3.2release(64 位) OpenHarmony 內(nèi)核版本:5.10 標(biāo)準(zhǔn)系統(tǒng)設(shè)備: DAYU200 Docker:18.03.1 (64 位) s
    的頭像 發(fā)表于 03-02 15:10 ?2422次閱讀
    【鴻蒙】<b class='flag-5'>OpenHarmony</b>運(yùn)行docker詳細(xì)步驟

    【鴻蒙】標(biāo)準(zhǔn)系統(tǒng)移植指南

    標(biāo)準(zhǔn)系統(tǒng)移植指南 本文描述了移植一塊開發(fā)板的通用步驟,和具體芯片相關(guān)的詳細(xì)移植過程無法在此一一列舉。后續(xù)社區(qū)還會(huì)陸續(xù)發(fā)布
    的頭像 發(fā)表于 02-27 14:36 ?802次閱讀
    【鴻蒙】<b class='flag-5'>標(biāo)準(zhǔn)系統(tǒng)</b><b class='flag-5'>移植</b>指南

    請(qǐng)問DAYU200有SPI可以用么

    大家好,請(qǐng)問DAYU200有SPI可以用么 我看這里https://developer.huawei.com/consumer/cn/market/prod-detail?productId
    發(fā)表于 02-20 11:38

    開鴻基于高性能RISC-V開源架構(gòu)DAYU800通過OpenHarmony兼容性測(cè)評(píng)

    近期,江蘇開鴻數(shù)字科技有限公司(以下簡(jiǎn)稱“開鴻”)基于高性能RISC-V開源架構(gòu)處理器研發(fā)的OpenHarmony標(biāo)準(zhǔn)系統(tǒng)開發(fā)平臺(tái)HH-SCDAYU800通過
    的頭像 發(fā)表于 12-15 08:02 ?542次閱讀
    <b class='flag-5'>潤</b>開鴻基于高性能RISC-V開源架構(gòu)<b class='flag-5'>DAYU</b>800通過<b class='flag-5'>OpenHarmony</b>兼容性測(cè)評(píng)

    開鴻基于高性能RISC-V開源架構(gòu)DAYU800通過OpenHarmony兼容性測(cè)評(píng)

    近期,江蘇開鴻數(shù)字科技有限公司(以下簡(jiǎn)稱“開鴻”)基于高性能RISC-V開源架構(gòu)處理器研發(fā)的OpenHarmony標(biāo)準(zhǔn)系統(tǒng)開發(fā)平臺(tái)HH-SCDAYU800通過
    發(fā)表于 12-14 17:33

    開鴻基于高性能RISC-V開源架構(gòu)DAYU800通過OpenHarmony兼容性測(cè)評(píng)

    的OpenAtom OpenHarmony(以下簡(jiǎn)稱“OpenHarmony”)標(biāo)準(zhǔn)系統(tǒng)開發(fā)平臺(tái)HH-SCDAYU800通過OpenHarmony 3.2.2 Release版本兼容性
    的頭像 發(fā)表于 11-30 21:15 ?720次閱讀
    <b class='flag-5'>潤</b>開鴻基于高性能RISC-V開源架構(gòu)<b class='flag-5'>DAYU</b>800通過<b class='flag-5'>OpenHarmony</b>兼容性測(cè)評(píng)

    rk3568 dayu200開發(fā)版故障

    dayu200開發(fā)版卡在 DAYU開機(jī)界面,但是通過截屏軟件可以顯示正確圖像。
    發(fā)表于 11-30 09:53