即使存在,ld也找不到库

编辑:显然〜不工作在这里,只在壳,用'$ HOME'replace〜它应该工作,谢谢大家谁回答。

试图在这里编译一个项目,但它似乎找不到图书馆,即使它们存在,这是我的线的输出和certificate图书馆存在。

pi@raspberrypi ~/Car $ g++ Car.cpp -I~/git/robidouille/raspicam_cv -L~/git/robidouille/raspicam_cv -lraspicamcv -L~/git/userland/build/lib -lmmal_core -lmmal -lmmal_util -lvcos -lbcm_host -I/usr/include/opencv -lopencv_highgui -lopencv_core -lopencv_video -lopencv_imgproc -lpthread -lm /usr/bin/ld: cannot find -lraspicamcv /usr/bin/ld: cannot find -lmmal_core /usr/bin/ld: cannot find -lmmal /usr/bin/ld: cannot find -lmmal_util /usr/bin/ld: cannot find -lvcos /usr/bin/ld: cannot find -lbcm_host collect2: ld returned 1 exit status pi@raspberrypi ~/Car $ find ~/ -name libraspicamcv.so /home/pi/git/robidouille/raspicam_cv/libraspicamcv.so pi@raspberrypi ~/Car $ find ~/ -name libmmal_core.so /home/pi/git/userland/build/lib/libmmal_core.so pi@raspberrypi ~/Car $ find ~/ -name libmmal.so /home/pi/git/userland/build/lib/libmmal.so pi@raspberrypi ~/Car $ 

编辑:试图做

 ld -L~/git/userland/build/lib -lmmal_core --verbose 

它给了我

 attempt to open ~/git/userland/build/lib/libmmal_core.so failed 

但〜/ git / userland / build / lib / libmmal_core.so确实存在,所以出于某种原因,它似乎无法在文件存在时打开。

将“〜”扩展到您的主目录是shell的一个功能,并且不会在“ -I~/git/robidouille/raspicam_cv等参数中“扩展”。

当链接器去寻找库时,它不会问你的shell在哪里 – 它试图找到不存在的文字路径“〜/ git / robidouille / raspicam_cv”。

将“〜”替换为“$ HOME”,shell 对其进行扩展。