【问题标题】:Having cannot find error while making file制作文件时找不到错误
【发布时间】:2017-02-27 17:21:52
【问题描述】:

在我制作文件时,出现了错误,我不知道如何解决。

$ 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) 

【问题讨论】:

  • LDPATH 中有 libcufft.so 吗?
  • 我在LD_LIBRARY_PATH 中找到了libcufft.so。为什么它在/usr/bin/ld 路径中搜索?

标签: opencv makefile g++


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-07
    • 2014-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-19
    • 1970-01-01
    • 2022-08-15
    相关资源
    最近更新 更多