即使图书馆存在,我也找不到

ld cannot find libraries even though they exist

本文关键字:找不到 存在 图书馆      更新时间:2023-10-16

编辑:显然~不能在这里工作,只在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 $

编辑:try doing

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

它给了我

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

但~/git/用户/构建/lib/libmmal_core。所以infact不存在,所以由于某些原因,它似乎不能打开文件,而它存在

将"~"扩展到您的主目录是shell的一个特性,它不会在诸如-I~/git/robidouille/raspicam_cv之类的参数内展开。

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

将"~"替换为"$HOME",该将由shell展开

相关文章: