Browse Source

修改编译脚本支持ffmpeg alsa

master
zhaohe 2 years ago
parent
commit
62aa37c15c
  1. 4
      CMakeLists.txt
  2. 2
      dep/asio1.12.2
  3. 2
      dep/iflytopcpp
  4. 2
      dep/websocketpp
  5. 2
      dep/zlinuxcomponents
  6. 2
      dep/zservice_container
  7. 2
      dep/zwebservice
  8. 66
      sh/envsetup_rk3328.sh
  9. 4
      src/main.cpp
  10. 2
      zcmake

4
CMakeLists.txt

@ -38,6 +38,8 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-pessimizing-move -Wno-reorder")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
message("CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
message("PROJECT_NAME: ${PROJECT_NAME}")
message("PUBLIC_LINK_DIRECTORIES: ${PUBLIC_LINK_DIRECTORIES}")
message("PUBLIC_INCLUDE_DIRECTORIES: ${PUBLIC_INCLUDE_DIRECTORIES}")
#
include(dep/iflytopcpp/module.cmake)
@ -51,8 +53,6 @@ include(dep/zlinuxcomponents/mycroft_precise/module.cmake)
include(dep/zlinuxcomponents/audio/module.cmake)
#
set(DEP_INCLUDE ${DEP_INCLUDE} ./dep/ libs/ffmpeg/include)
set(DEP_LINK_DIRECTORIES ${DEP_LINK_DIRECTORIES} libs/ffmpeg/lib)
set(DEP_LINK_LIBRARIES
${DEP_LINK_LIBRARIES}
# ffmpeg

2
dep/asio1.12.2

@ -1 +1 @@
Subproject commit 8dec127c936fa7d944e9fa090cfd7a7d60fd0151
Subproject commit 9a8c8af71e1dcef483560959ced09b09867bf2ee

2
dep/iflytopcpp

@ -1 +1 @@
Subproject commit 2d11434c5c7d7821d842e0525c1ecc8d12525b7f
Subproject commit e3fb64e8cb81f56ca1bff28657946a5453cf325d

2
dep/websocketpp

@ -1 +1 @@
Subproject commit 5a8b66c918e777d1a2b890fb625dc4c9d629a1a9
Subproject commit a61fab296db75a7a78d48347355c48182ab15929

2
dep/zlinuxcomponents

@ -1 +1 @@
Subproject commit 20cff3988f92aae2bae4d05e7ab1f15078c64a5d
Subproject commit efb99bc5993983388a6407e5f47cb05a0498799c

2
dep/zservice_container

@ -1 +1 @@
Subproject commit c3c5fad53df964d832432ad9bb166c961f306e9b
Subproject commit 95633b8f5ab66b59f65e93b7a8d915b1df93999e

2
dep/zwebservice

@ -1 +1 @@
Subproject commit 2062c64d58a9eed6d22c6b48e6b8b2902f16cc9d
Subproject commit 89e0bfea5db6bb713f49644d6e6d33900df9964c

66
sh/envsetup_rk3328.sh

@ -1,30 +1,58 @@
#!/bin/bash
# 下载编译器
# 全局变量
LIBSDIR=${PROJECT_PATH}/libs/
# Config
CONFIG_SUPPORT_ALSA=true
CONFIG_SUPPORT_FFMPEG=true
# Code Begin
cd ${PROJECT_PATH}/build
#
# GCC原始下载地址,下面使用的是本地的下载地址
# https://snapshots.linaro.org/components/toolchain/binaries/7.5-2019.12-rc1/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-rc1-x86_64_aarch64-linux-gnu.tar.xz
#
wget -c "http://192.168.1.2:5000/d/s/738746148977685128/_nzQ8Q4hspZYDmEJb76gRQGDTjXqdFnk-pbLgN7-NQAo_"
rm -rf gcc-linaro-7.5.0-2019.12-rc1-x86_64_aarch64-linux-gnu
tar -xvf gcc-linaro-7.5.0-2019.12-rc1-x86_64_aarch64-linux-gnu.tar.xz
BUILD_TOOLS_PATH=${PROJECT_PATH}/build/gcc-linaro-7.5.0-2019.12-rc1-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/
# 下载cmake
wget -c "192.168.1.2:8021/sdk_firefly_rk3328_v2.5.1/buildtools/cmake-3.13.0-Linux-x86_64.tar.gz"
rm -rf cmake-3.13.0-Linux-x86_64
tar -xvf cmake-3.13.0-Linux-x86_64.tar.gz
mv cmake-3.13.0-Linux-x86_64 cmake
CMAKE_BIN=${PROJECT_PATH}/build/cmake/bin/cmake
# 下载依赖库
# alsa 支持
# CONFIG_SUPPORT_ALSA
if [ "$CONFIG_SUPPORT_ALSA" = true ]; then
wget -c "192.168.1.2:8021/sdk_firefly_rk3328_v2.5.1/buildtools/libasound2_dev1.1.3-5ubuntu0.6.tar.gz"
rm -rf ${LIBSDIR}/alsa
rm -rf libasound2_dev1.1.3-5ubuntu0.6
tar -xvf libasound2_dev1.1.3-5ubuntu0.6.tar.gz
mkdir -p ${BUILD_TOOLS_PATH}/pkgconfig/
mkdir -p ${BUILD_TOOLS_PATH}/include/sys/
mkdir -p ${LIBSDIR}/alsa/pkgconfig/
mkdir -p ${LIBSDIR}/alsa/include/sys/
mkdir -p ${LIBSDIR}/alsa/lib/
mkdir -p ${LIBSDIR}/alsa/include/sys/
mv libasound2_dev1.1.3-5ubuntu0.6/unpack/usr/lib/aarch64-linux-gnu/libasound.* ${LIBSDIR}/alsa/lib/
mv libasound2_dev1.1.3-5ubuntu0.6/unpack/usr/lib/aarch64-linux-gnu/pkgconfig/alsa.pc ${LIBSDIR}/alsa/pkgconfig/
mv libasound2_dev1.1.3-5ubuntu0.6/unpack/usr/include/alsa ${LIBSDIR}/alsa/include/
mv libasound2_dev1.1.3-5ubuntu0.6/unpack/usr/include/sys/* ${LIBSDIR}/alsa/include/sys/
PUBLIC_LINK_DIRECTORIES="${PUBLIC_LINK_DIRECTORIES};${LIBSDIR}/alsa/lib"
PUBLIC_INCLUDE_DIRECTORIES="${PUBLIC_INCLUDE_DIRECTORIES};${LIBSDIR}/alsa/include"
fi
# CONFIG_SUPPORT_FFMPEG
if [ "$CONFIG_SUPPORT_FFMPEG" = true ]; then
wget -c "192.168.1.2:8021/sdk_firefly_rk3328_v2.5.1/buildtools/ffmpeg-4.1.10-aarch64-20230301.tar.gz"
rm -rf ${LIBSDIR}/ffmpeg
tar -xvf ffmpeg-4.1.10-aarch64-20230301.tar.gz
mv ffmpeg-4.1.10-aarch64-20230301 ${LIBSDIR}/ffmpeg
PUBLIC_LINK_DIRECTORIES="${PUBLIC_LINK_DIRECTORIES};${LIBSDIR}/ffmpeg/lib"
PUBLIC_INCLUDE_DIRECTORIES="${PUBLIC_INCLUDE_DIRECTORIES};${LIBSDIR}/ffmpeg/include"
fi
mv libasound2_dev1.1.3-5ubuntu0.6/unpack/usr/lib/aarch64-linux-gnu/libasound.* ${BUILD_TOOLS_PATH}/lib/
mv libasound2_dev1.1.3-5ubuntu0.6/unpack/usr/lib/aarch64-linux-gnu/pkgconfig/alsa.pc ${BUILD_TOOLS_PATH}/pkgconfig/
mv libasound2_dev1.1.3-5ubuntu0.6/unpack/usr/include/alsa ${BUILD_TOOLS_PATH}/include/
mv libasound2_dev1.1.3-5ubuntu0.6/unpack/usr/include/sys/* ${BUILD_TOOLS_PATH}/include/sys/
echo "PUBLIC_LINK_DIRECTORIES=${PUBLIC_LINK_DIRECTORIES}"
echo "PUBLIC_INCLUDE_DIRECTORIES=${PUBLIC_INCLUDE_DIRECTORIES}"
# 构造build.sh
echo "cmake ../ \\" >${PROJECT_PATH}/build/build.sh
echo "-DCMAKE_C_COMPILER=${BUILD_TOOLS_PATH}/../bin/aarch64-linux-gnu-gcc \\" >>${PROJECT_PATH}/build/build.sh
echo "-DCMAKE_CXX_COMPILER=${BUILD_TOOLS_PATH}/../bin/aarch64-linux-gnu-g++ \\" >>${PROJECT_PATH}/build/build.sh
echo "${CMAKE_BIN} ../ \\" >${PROJECT_PATH}/build/build.sh
echo "-DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DPUBLIC_LINK_DIRECTORIES='${PUBLIC_LINK_DIRECTORIES}' \\" >>${PROJECT_PATH}/build/build.sh
echo "-DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DPUBLIC_INCLUDE_DIRECTORIES='${PUBLIC_INCLUDE_DIRECTORIES}' \\" >>${PROJECT_PATH}/build/build.sh
chmod +x ${PROJECT_PATH}/build/build.sh

4
src/main.cpp

@ -16,7 +16,7 @@
#include "service/main_control_service.hpp"
#include "service/report_service.hpp"
//
#include "zlinuxcomponents/audio/audio_recoder.hpp"
// #include "zlinuxcomponents/audio/audio_recoder.hpp"
//
using namespace iflytop;
@ -72,7 +72,7 @@ int Main::main(int argc, char *argv[]) {
}
// AudioRecoder::get().initialize();
shared_ptr<AudioRecoder> audioRecoder(new AudioRecoder());
// shared_ptr<AudioRecoder> audioRecoder(new AudioRecoder());
#if 0
BUILD_AND_REG_SERRVICE(DeviceIOService);

2
zcmake

@ -1 +1 @@
Subproject commit cbc46d4ee6c9bf3cf302ace4e42914f83cd31b36
Subproject commit 2d6d2f67a479074559c17f242698c24a854b2c84
Loading…
Cancel
Save