![ld 找不到库](https://linux22.com/image/868432/ld%20%E6%89%BE%E4%B8%8D%E5%88%B0%E5%BA%93.png)
下午好,Ubuntu 14.04.2 LTS 64位
我是一名电子工程专业的学生,正在与语音识别领域的一个团队一起做一些研究。我正在尝试安装一款名为 bavieca 的软件:http://www.bavieca.org/
为了安装它,我必须编译 CBLAS 和 CLAPACK 库,然后,在名为 Makefile.defines 的档案中,我必须指向包含库的目录。
在源目录中输入 make 后,出现以下错误:
make[1]: Entering directory `/home/reconhecimentode/bavieca-code/src/tools'
/usr/bin/ld: cannot find -llapack_LINUX
/usr/bin/ld: cannot find -lblas_LINUX3
/usr/bin/ld: cannot find -lcblas_LINUX
/usr/bin/ld: cannot find -lblas_LINUX
collect2: error: ld returned 1 exit status
make[1]: *** [aligner] Error 1
make[1]: Leaving directory `/home/reconhecimentode/bavieca-code/src/tools'
make: *** [all] Error 2
这是我的 Makefile.define:
#----------------------------------------------------------------------------------------------#
# Copyright (C) 2012 Daniel Bolaños - www.bltek.com - Boulder Language Technologies #
#
#
# www.bavieca.org is the website of the Bavieca Speech Recognition Toolkit #
# #
# Licensed under the Apache License, Version 2.0 (the "License"); #
# you may not use this file except in compliance with the License. #
# You may obtain a copy of the License at #
# #
# http://www.apache.org/licenses/LICENSE-2.0 #
# #
# Unless required by applicable law or agreed to in writing, software #
# distributed under the License is distributed on an "AS IS" BASIS, #
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
# See the License for the specific language governing permissions and #
# limitations under the License. #
# ---------------------------------------------------------------------------------------------#
# ---------------------------------------
# Arch and Operating System settings
# ---------------------------------------
MAKE = make --quiet -w ARCH := $(shell uname -m | sed s/' '//g) OS
:= $(shell uname -s)
# ---------------------------------------
# Linux compile options
# ---------------------------------------
XCC = g++
# SIMD flags (vector based arithmetic operations)
#SIMD_FLAGS =
# SSE is enabled by default on gcc-4.0 and higher. If SSE is enabled, the C preprocessor symbol __SSE__ is defined SIMD_FLAGS = -msse3
# AVX is available on Sandy Bridge and later Intel and AMD architectures. If AVX is enabled the C preprocessor symbol __AVX__ is
defined
#SIMD_FLAGS = -march=corei7-avx
#CPPFLAGS = -g -Wno-deprecated -Wall -O2 -finline-functions $(SIMD_FLAGS) CPPFLAGS = -g -Wno-deprecated -O2 -finline-functions
$(SIMD_FLAGS)
# -fPIC generates Position Independent Code, which is needed to build shared libraries
# so they can be dynamically relocated, however it may slowdown the code, for this reason
# it should be avoided for object files that build executables or static libraries CPPFLAGS_SHARED = $(CPPFLAGS) -fPIC AR = ar rs
# ---------------------------------------
# CBLAS and LAPACK includes/libraries
# ---------------------------------------
BASE = /home/reconhecimentode
INCS_DIR_CBLAS = -I$(BASE)/CBLAS/include INCS_DIR_LAPACK =
-I$(BASE)/CLAPACK-3.2.1/INCLUDE LIBS_DIR_CBLAS = -L$(BASE)/CBLAS/lib -L$(BASE)/CLAPACK-3.2.1 LIBS_DIR_LAPACK = -L$(BASE)/CLAPACK-3.2.1 -L$(BASE)/CLAPACK-3.2.1/F2CLIBS LIB_CBLAS = -lcblas_LINUX -lblas_LINUX -lgfortran LIB_LAPACK = -llapack_LINUX -lblas_LINUX3 -lf2c
# ----------------------------------------------------
# Java JNI (Java Native Interface) includes/libraries
# ----------------------------------------------------
JAVA_BASE = /usr/lib/jvm/java-7-openjdk-amd64/ INCS_DIR_JNI =
-I$(JAVA_BASE)/include -I$(JAVA_BASE)/include/linux
我已经尝试过创建符号链接(但不确定是否正确),并以 root 身份运行。有人能帮助我吗?
谢谢。