Статические либы, Linux, Cmake
Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.
Господа линуксоиды подскажите.
Есть такой большой продукт Kaldi. Я его собираю по инструкции и он работает.
Но мне нужно заюзать либы из него. Во время сборки он создает статические либы:
KALDI_LIBRARIES: /home/viktor/Work/kaldi/src/decoder/kaldi-decoder.a;/home/viktor/Work/kaldi/src/feat/kaldi-feat.a;/home/viktor/Work/kaldi/src/gmm/kaldi-gmm.a;/home/viktor/Work/kaldi/src/hmm/kaldi-hmm.a;/home/viktor/Work/kaldi/src/lat/kaldi-lat.a;/home/viktor/Work/kaldi/src/matrix/kaldi-matrix.a;/home/viktor/Work/kaldi/src/transform/kaldi-transform.a;/home/viktor/Work/kaldi/src/tree/kaldi-tree.a;/home/viktor/Work/kaldi/src/util/kaldi-util.a;/home/viktor/Work/kaldi/src/base/kaldi-base.a
В cmakelist.txt делаю следующее:
add_executable(${NAME} ${${NAME}_SRCS})
target_link_libraries(${NAME} ${Boost_LIBRARIES} ${KALDI_LIBRARIES} ${OPENFST_LIBRARY} ${BLAS_LIBRARIES})
Но при сборке проекта ловлю следующую проблему:
/home/viktor/Work/kaldi/src/tree/kaldi-tree.a(build-tree.o): In function `kaldi::GenRandStats(int, int, int, int, std::vector<int, std::allocator<int=""> > const&, std::vector<int, std::allocator<int=""> > const&, std::vector<bool, std::allocator<bool=""> > const&, bool, std::vector<std::pair<std::vector<std::pair<int, int="">, std::allocator<std::pair<int, int=""> > >, kaldi::Clusterable*>, std::allocator<std::pair<std::vector<std::pair<int, int="">, std::allocator<std::pair<int, int=""> > >, kaldi::Clusterable*> > >*)’:
/home/viktor/Work/kaldi/src/tree/build-tree.cc:103: undefined reference to `kaldi::VectorBase<float>::Sum() const’
/home/viktor/Work/kaldi/src/tree/build-tree.cc:104: undefined reference to `kaldi::VectorBase<float>::Sum() const’
и т.д.
QtCreator пишет дополнительно пишет: File not found /home/viktor/Work/kaldi/src/tree/kaldi-tree.a(build_tree.o).
То бишь не находит нужных функций в подключаемых либах или их таки не прилинковывает.
Ключи для сборки:
SET (CMAKE_C_FLAGS “-std=c++11 -Wall -Wextra”)
SET (CMAKE_CXX_FLAGS “${CMAKE_C_FLAGS}”)
Возможно нужно еще какие ключи добавить?
Или куда копать подскажите?
13 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів