我正在尝试使用Eclipse编译一个小型OpenCV程序。我在图书馆位置有限,因为我在大学共享服务器上运行它们。我有一个完全正常工作的makefile,我可以根据需要从终端编译和运行程序,但是当使用Eclipse时,它编译得很好但是在运行时我得到以下错误:
/ home / cserv2_a / soc_ug / sc06ijh / PhD / year1 / testing / camtest1 / Debug / camtest1:加载共享库时出错:libcv.so.0:无法打开共享对象文件:没有这样的文件或目录
我已经在eclipse和我的.bashrc中设置了LD_ LIBRARY_PATH环境变量(添加空间以阻止italising)并检查它是否指向正确的位置(它必须或终端编译的程序不会运行!)
我不得不使用-m32标志进行编译,因为视觉部门库没有将他们的OpenCV版本更新为64位,但这对标准的makefile工作正常(见下文)。我想知道是否某处的线路正在弄乱图书馆路径?
all:camtest1
%:%CPP
g ++ -O3 -m32 -I / home / csunix / vislib / opencv / include / opencv -L / home / csunix / vislib / libs / opencv $ ^ -L / home / csunix / vislib / libs / ffmpeg -lcv -lcvaux -lcxcore -lhighgui -lstdc ++ -lavcodec -lavformat -lavutil -o $ @
提前致谢!
答案 0 :(得分:0)
请注意,我为编译设置了环境,但没有为运行程序设置环境,所以它仍然没有看到LD_LIBRARY_PATH!