编辑:显然〜在这里不起作用,只在shell中,用'$ HOME'替换〜它应该有效,感谢所有回答的人。
尝试在这里编译一个项目,但它似乎无法找到库,即使它们存在,这里是我的行的输出并证明库存在。
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确实存在,所以出于某种原因,它似乎无法打开文件。
答案 0 :(得分:5)
扩展"〜"到你的主目录是shell的一个功能,它没有扩展"内部"一个参数,例如-I~/git/robidouille/raspicam_cv
。
当链接器寻找库时,它不会询问你的shell它在哪里 - 它试图找到文字路径"〜/ git / robidouille / raspicam_cv",它没有&# 39; t存在。
替换"〜"使用" $ HOME",将由shell扩展。