在制作文件时找不到错误

时间:2017-02-27 17:21:52

标签: opencv makefile g++

当我制作文件时,错误来了,我不知道如何解决这个问题。

$ make libcv.so 
g++ -fPIC -o libcv.so --shared src/cv.cpp -I/home/fzehua/torch/install/include/THC -I/home/fzehua/torch/install/include/TH -I/home/fzehua/torch/install/include -L/home/fzehua/torch/install/lib -lluaT -lTH `pkg-config --libs opencv` 
/usr/bin/ld: cannot find -lcufft
/usr/bin/ld: cannot find -lnpps
/usr/bin/ld: cannot find -lnppi
/usr/bin/ld: cannot find -lnppc
/usr/bin/ld: cannot find -lcudart
collect2: error: ld returned 1 exit status
make: *** [libcv.so] Error 1

Makefile写如下:

PREFIX=$(HOME)/torch/install
CUDA=/usr/local/cuda
CFLAGS=-I$(PREFIX)/include/THC -I$(PREFIX)/include/TH -I$(PREFIX)/include
LDFLAGS_NVCC=-L$(PREFIX)/lib -Xlinker -rpath,$(PREFIX)/lib -lluaT -lTHC -lTH -lpng
LDFLAGS_CPP=-L$(PREFIX)/lib -lluaT -lTH `pkg-config --libs opencv`

libcv.so: src/cv.cpp
    g++ -fPIC -o libcv.so --shared src/cv.cpp $(CFLAGS) $(LDFLAGS_CPP) 

1 个答案:

答案 0 :(得分:0)

/usr/bin/ld: cannot find -lc while compiling with makefile中提到了答案。

首先,我在locate lib*.a找到了lib * .so,然后在LDFLAGS_CPP中添加-L$(mypath)/lib的路径。它有效。