Makefile opencv停止工作
Makefile opencv stopped working
我有以下的Makefile项目使用opencv
CFLAGS = `pkg-config --cflags opencv`
LIBS = `pkg-config --libs opencv`
% : %.cpp
g++ $(CFLAGS) -o $@ $< $(LIBS)
这个直到最近都很好。我现在得到以下错误:
/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
pkg-config --libs opencv
输出
/usr/local/lib/libopencv_calib3d.so
/usr/local/lib/libopencv_contrib.so
/usr/local/lib/libopencv_core.so
/usr/local/lib/libopencv_features2d.so
/usr/local/lib/libopencv_flann.so
/usr/local/lib/libopencv_gpu.so
/usr/local/lib/libopencv_highgui.so
/usr/local/lib/libopencv_imgproc.so
/usr/local/lib/libopencv_legacy.so
/usr/local/lib/libopencv_ml.so
/usr/local/lib/libopencv_nonfree.so
/usr/local/lib/libopencv_objdetect.so
/usr/local/lib/libopencv_ocl.so
/usr/local/lib/libopencv_photo.so
/usr/local/lib/libopencv_stitching.so
/usr/local/lib/libopencv_superres.so
/usr/local/lib/libopencv_ts.a
/usr/local/lib/libopencv_video.so
/usr/local/lib/libopencv_videostab.so
/usr/lib/x86_64-linux-gnu/libXext.so
/usr/lib/x86_64-linux-gnu/libX11.so
/usr/lib/x86_64-linux-gnu/libICE.so
/usr/lib/x86_64-linux-gnu/libSM.so
/usr/lib/libGL.so
/usr/lib/x86_64-linux-gnu/libGLU.so
-lcufft -lnpps -lnppi -lnppc -lcudart -ltbb -lrt -lpthread -lm -ldl
我已经导出cuda库路径到LD_LIBRARY_PATH
:
echo $LD_LIBRARY_PATH
/usr/local/cuda-5.5/lib64
这个路径确实包含库:
ls $LD_LIBRARY_PATH
libcublas_device.a libcudart.so.5.0 libcufftw.so libcurand.so.5.5 libnppc.so.5.5.22 libnvToolsExt.so
libcublas.so libcudart.so.5.5 libcufftw.so.5.5 libcurand.so.5.5.22 libnppi.so libnvToolsExt.so.1
libcublas.so.5.0 libcudart.so.5.5.22 libcufftw.so.5.5.22 libcusparse.so libnppi.so.5.5 libnvToolsExt.so.1.0.0
libcublas.so.5.5 libcudart_static.a libcuinj64.so libcusparse.so.5.5 libnppi.so.5.5.22
libcublas.so.5.5.22 libcufft.so libcuinj64.so.5.5 libcusparse.so.5.5.22 libnpps.so
libcudadevrt.a libcufft.so.5.5 libcuinj64.so.5.5.22 libnppc.so libnpps.so.5.5
libcudart.so libcufft.so.5.5.22 libcurand.so libnppc.so.5.5 libnpps.so.5.5.22
但是我仍然得到错误。我运行opencv 2.4.9和cuda 5.5。我忘了什么?
LD_LIBRARY_PATH
为运行时间。对于编译,您需要使用LIBRARY_PATH
。要么将/usr/local/cuda-5.5/lib64
导出到LIBRARY_PATH
,要么在Makefile中添加LIBS
的路径:
LIBS += -L/usr/local/cuda-5.5/lib64
LD_LIBRARY_PATH vs LIBRARY_PATH
我现在这样做了:g++ -L /usr/local/cuda-5.5/lib64 pkg-config --cflags opencv -o writeFramesMainSimple writeFramesMainSimple.cpp pkg-config --libs opencv
,它工作了!
相关文章:
- Visual Studio 2017 停止工作,并在打开后显示许多控制台窗口
- 自 Windows 10 20H1 以来,具有单独线程的多个窗口停止工作
- C++代码停止工作错误使用cout内部函数
- LoadImage 在 Windows 更新后停止工作
- C++程序工作,但 Windows 显示"程序.exe已停止工作"
- VS 代码 C/C++ 智能感知在更新后停止工作
- 不使用与左右停止工作命名空间 std 的简单比较
- 为什么通过定义另一个指针单元格,整个代码停止工作?
- 德拉吉诺 LG01-S 收到异常数据包并停止工作
- G++ 在生成文件中使用时停止工作
- 当循环在条件C++之前停止工作时
- GCC:--静态链接到pthread的整个存档配方在最近的GCC版本中停止工作
- 正则表达式代码无缘无故停止工作
- 我的代码在第 4 个选择后停止工作
- 读取二进制文件大小的短自上周以来停止工作
- C++ 已停止工作静态映射函数
- Vscode 自动格式化代码在运行几次后停止工作
- 程序 使用链表插入数据时停止工作
- C++ / CannyEdgeDetection.exe 已停止工作 代码块 /OpenCV 错误:断言失败
- Makefile opencv停止工作