Kaldi_ke的CMake项目
Task.json
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++ build active file",
"command": "/usr/bin/g++",
"args": [
"-std=c++11",
"-I${workspaceFolder}",
"-I/opt/kaldi/tools/openfst-1.6.7/include",
"-L/data/nfs8/nfs/aisearch/asr/meichaoyang001/gpu_ke_aisearch_home/workspace/project/kaldi_ke/tools/openfst-1.6.7/lib/",//so库所在的路径
"-Wl,-rpath=/data/nfs8/nfs/aisearch/asr/meichaoyang001/gpu_ke_aisearch_home/workspace/project/kaldi_ke/tools/openfst-1.6.7/lib",//so库所在的路径
"-L/data/nfs8/nfs/aisearch/asr/meichaoyang001/gpu_ke_aisearch_home/intel/compilers_and_libraries_2020.3.279/linux/mkl/lib/intel64",//so库所在的路径
"-l${workspaceFolder}/base/kaldi-base.a",//so库所在的路径
"-l${workspaceFolder}/matrix/kaldi-matrix.a ",//so库所在的路径
"-l${workspaceFolder}/util/kaldi-util.a",//so库所在的路径
"-l${workspaceFolder}/tree/kaldi-tree.a",//so库所在的路径
"-l${workspaceFolder}/gmm/kaldi-gmm.a",//so库所在的路径
"-l${workspaceFolder}/transform/kaldi-transform.a",//so库所在的路径
"-l${workspaceFolder}/feat/kaldi-feat.a",//so库所在的路径
"-l${workspaceFolder}/hmm/kaldi-hmm.a",//so库所在的路径
"-l${workspaceFolder}/fstext/kaldi-fstext.a",//so库所在的路径
"-l${workspaceFolder}/lat/kaldi-lat.a",//so库所在的路径
"-l${workspaceFolder}/lm/kaldi-lm.a",//so库所在的路径
"-l${workspaceFolder}/decoder/kaldi-decoder.a",//so库所在的路径
"-l${workspaceFolder}/cudamatrix/kaldi-cudamatrix.a",//so库所在的路径
"-l${workspaceFolder}/nnet2/kaldi-nnet2.a",//so库所在的路径
"-l${workspaceFolder}/chain/kaldi-chain.a",//so库所在的路径
"-l${workspaceFolder}/nnet3/kaldi-nnet3.a",//so库所在的路径
"-l${workspaceFolder}/ivector/kaldi-ivector.a",//so库所在的路径
"-l${workspaceFolder}/online2/kaldi-online2.a",//so库所在的路径
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "${command:cmake.launchTargetPath}",
"args": [
"option.conf",
"sdf"
],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [
{
// add the directory where our target was built to the PATHs
// it gets resolved by CMake Tools:
"name": "PATH",
"value": "${env:PATH}:${command:cmake.getLaunchTargetDirectory}"
},
{
"name": "OTHER_VALUE",
"value": "Something something"
}
],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
CMakeList.txt
cmake_minimum_required(VERSION 3.7.2) # for vscode cmake debug
project(grammar_decoder)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c++11 -fPIC -pthread -lgfortran")
set(KALDI_PATH /data/nfs8/nfs/aisearch/asr/meichaoyang001/gpu_ke_aisearch_home/workspace/project/kaldi_ke)
add_definitions(-DHAVE_EXECINFO_H)
add_definitions(-DHAVE_CXXABI_H)
MESSAGE(STATUS "operation system is ${CMAKE_SYSTEM}")
include_directories(
${KALDI_PATH}/src
${KALDI_PATH}/tools/openfst/include
)
add_executable(online2_nnet3_pipeline_decoder
online2_nnet3_pipeline_decoder.cc
)
# target_link_libraries(online2_nnet3_pipeline_decoder
# ${KALDI_PATH}/src/online2/kaldi-online2${CMAKE_STATIC_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/nnet3/kaldi-nnet3${CMAKE_STATIC_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/chain/kaldi-chain${CMAKE_STATIC_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/nnet2/kaldi-nnet2${CMAKE_STATIC_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/cudamatrix/kaldi-cudamatrix${CMAKE_STATIC_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/decoder/kaldi-decoder${CMAKE_STATIC_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/lat/kaldi-lat${CMAKE_STATIC_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/lm/kaldi-lm${CMAKE_STATIC_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/fstext/kaldi-fstext${CMAKE_STATIC_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/hmm/kaldi-hmm${CMAKE_STATIC_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/feat/kaldi-feat${CMAKE_STATIC_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/transform/kaldi-transform${CMAKE_STATIC_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/gmm/kaldi-gmm${CMAKE_STATIC_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/tree/kaldi-tree${CMAKE_STATIC_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/util/kaldi-util${CMAKE_STATIC_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/matrix/kaldi-matrix${CMAKE_STATIC_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/base/kaldi-base${CMAKE_STATIC_LIBRARY_SUFFIX}
# ${KALDI_PATH}/tools/openfst/lib/libfst${CMAKE_STATIC_LIBRARY_SUFFIX}
# -lpthread -lm
# )
target_link_libraries(online2_nnet3_pipeline_decoder
${KALDI_PATH}/src/online2/kaldi-online2.a
${KALDI_PATH}/src/ivector/kaldi-ivector.a
${KALDI_PATH}/src/nnet3/kaldi-nnet3.a
${KALDI_PATH}/src/chain/kaldi-chain.a
${KALDI_PATH}/src/nnet2/kaldi-nnet2.a
${KALDI_PATH}/src/cudamatrix/kaldi-cudamatrix.a
${KALDI_PATH}/src/decoder/kaldi-decoder.a
${KALDI_PATH}/src/lm/kaldi-lm.a
${KALDI_PATH}/src/lat/kaldi-lat.a
${KALDI_PATH}/src/fstext/kaldi-fstext.a
${KALDI_PATH}/src/hmm/kaldi-hmm.a
${KALDI_PATH}/src/feat/kaldi-feat.a
${KALDI_PATH}/src/transform/kaldi-transform.a
${KALDI_PATH}/src/gmm/kaldi-gmm.a
${KALDI_PATH}/src/tree/kaldi-tree.a
${KALDI_PATH}/src/util/kaldi-util.a
${KALDI_PATH}/src/matrix/kaldi-matrix.a
${KALDI_PATH}/src/base/kaldi-base.a
${KALDI_PATH}/tools/openfst/lib/libfst.a
/opt/3rdparty/OpenBLAS/lib/libopenblas.a
-lpthread -lm
)
# target_link_libraries(online2_nnet3_pipeline_decoder
# ${KALDI_PATH}/src/lib/libkaldi-online2${CMAKE_SHARED_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/lib/libkaldi-nnet3${CMAKE_SHARED_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/lib/libkaldi-chain${CMAKE_SHARED_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/lib/libkaldi-nnet2${CMAKE_SHARED_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/lib/libkaldi-cudamatrix${CMAKE_SHARED_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/lib/libkaldi-decoder${CMAKE_SHARED_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/lib/libkaldi-lat${CMAKE_SHARED_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/lib/libkaldi-lm${CMAKE_SHARED_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/lib/libkaldi-fstext${CMAKE_SHARED_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/lib/libkaldi-hmm${CMAKE_SHARED_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/lib/libkaldi-feat${CMAKE_SHARED_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/lib/libkaldi-transform${CMAKE_SHARED_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/lib/libkaldi-gmm${CMAKE_SHARED_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/lib/libkaldi-tree${CMAKE_SHARED_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/lib/libkaldi-util${CMAKE_SHARED_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/lib/libkaldi-matrix${CMAKE_SHARED_LIBRARY_SUFFIX}
# ${KALDI_PATH}/src/lib/libkaldi-base${CMAKE_SHARED_LIBRARY_SUFFIX}
# ${KALDI_PATH}/tools/openfst/lib/libfst${CMAKE_SHARED_LIBRARY_SUFFIX}
# -lpthread -lm
# )
c_cpp_properties.json
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/data/nfs8/nfs/aisearch/asr/meichaoyang001/gpu_ke_aisearch_home/workspace/project/kaldi_ke/tools/openfst/include/"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "gnu11",
"cppStandard": "gnu++14",
"intelliSenseMode": "linux-gcc-x64",
"configurationProvider": "ms-vscode.cmake-tools"
}
],
"version": 4
}
settings.json
{
"cmake.sourceDirectory": "${workspaceFolder}/online2bin",
// "cmake.buildDirectory": "/data/nfs8/nfs/aisearch/asr/meichaoyang001/gpu_ke_aisearch_home/workspace/hotword_kaldi/hotword_test",
"cmake.buildDirectory": "/data/nfs8/nfs/aisearch/asr/meichaoyang001/gpu_ke_aisearch_home/workspace/project/kaldi_ke/src/online2bin/cmake_build",
"cmake.parallelJobs" : 8
}
Task.json
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++ build active file",
"command": "/usr/bin/g++",
"args": [
"-std=c++11",
"-I${workspaceFolder}",
"-I/opt/kaldi/tools/openfst-1.6.7/include",
"-L/data/nfs8/nfs/aisearch/asr/meichaoyang001/gpu_ke_aisearch_home/workspace/project/kaldi_ke/tools/openfst-1.6.7/lib/",//so库所在的路径
"-Wl,-rpath=/data/nfs8/nfs/aisearch/asr/meichaoyang001/gpu_ke_aisearch_home/workspace/project/kaldi_ke/tools/openfst-1.6.7/lib",//so库所在的路径
"-L/data/nfs8/nfs/aisearch/asr/meichaoyang001/gpu_ke_aisearch_home/intel/compilers_and_libraries_2020.3.279/linux/mkl/lib/intel64",//so库所在的路径
"-l${workspaceFolder}/base/kaldi-base.a",//so库所在的路径
"-l${workspaceFolder}/matrix/kaldi-matrix.a ",//so库所在的路径
"-l${workspaceFolder}/util/kaldi-util.a",//so库所在的路径
"-l${workspaceFolder}/tree/kaldi-tree.a",//so库所在的路径
"-l${workspaceFolder}/gmm/kaldi-gmm.a",//so库所在的路径
"-l${workspaceFolder}/transform/kaldi-transform.a",//so库所在的路径
"-l${workspaceFolder}/feat/kaldi-feat.a",//so库所在的路径
"-l${workspaceFolder}/hmm/kaldi-hmm.a",//so库所在的路径
"-l${workspaceFolder}/fstext/kaldi-fstext.a",//so库所在的路径
"-l${workspaceFolder}/lat/kaldi-lat.a",//so库所在的路径
"-l${workspaceFolder}/lm/kaldi-lm.a",//so库所在的路径
"-l${workspaceFolder}/decoder/kaldi-decoder.a",//so库所在的路径
"-l${workspaceFolder}/cudamatrix/kaldi-cudamatrix.a",//so库所在的路径
"-l${workspaceFolder}/nnet2/kaldi-nnet2.a",//so库所在的路径
"-l${workspaceFolder}/chain/kaldi-chain.a",//so库所在的路径
"-l${workspaceFolder}/nnet3/kaldi-nnet3.a",//so库所在的路径
"-l${workspaceFolder}/ivector/kaldi-ivector.a",//so库所在的路径
"-l${workspaceFolder}/online2/kaldi-online2.a",//so库所在的路径
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}