Как проверить, установлена ​​ли разделяемая библиотека локально - PullRequest
0 голосов
/ 27 января 2020

Я попытался установить библиотеку clSPARSE в Ubuntu 14.04, и я сделал следующие шаги

cd src
mkdir build
cd build
cmake ..
make

и в dir build/library был создан libclSPARSE.so, и я добавил адрес в $LD_LIBRARY_PATH, но Когда я компилирую код, в который я включаю clSPARSE.h, я получил ошибку 'clSPARSE.h' can not be found Так как он был установлен локально, я не могу использовать ldconfig -p | grep 'libclSPARSE', чтобы проверить, установлен ли он на машине. Могу ли я узнать, был ли он установлен и правильно ли он связан? а также почему я получил упомянутую ошибку. Чтобы прояснить, что make-файл, который я использовал для компиляции и компоновки, выглядит следующим образом:


# define the C++ compiler to use
CXX = g++-9

# flags
FLAGS = -Wall -pedantic

# define any directories containing header files other than /usr/include
INCLUDE = /usr/local/cuda-7.5/include

# define library paths in addition to /usr/lib
LFLAGS = /usr/local/cuda-7.5/lib

# define any directories containing header files other than /usr/include
INCLUDESPARSE = /home/mehdi/clSPARSE/src/library/include

# define library paths in addition to /usr/lib
LFLAGSSPARSE = /home/mehdi/clSPARSE/src/build/library


# define any libraries to link into executable:
LIBS = -lOpenCL -lclBLAS -I$(INCLUDESPARSE) -L$(LFLAGSSPARSE) -lclSPARSE -lm

TARGETDIR = ../exe/
TARGET= spmv
SRC = $(TARGET).cc

.PHONY: all, clean

all: $(TARGET)

$(TARGET):$(SRC)
        $(CXX) $(STD) $(FLAGS) $< -I$(INCLUDE) -L$(LFLAGS) $(LIBS) -o $(TARGETDIR)$@

clean:
        rm -rf $(TARGETDIR)$(TARGET) *.o
...