4 个解决方案
#1
ldd a
ldconfig -v | grep b.so
ldconfig -v | grep b.so
#2
ldd a会列出a所依赖的动态库。
#3
可以export LD_LIBRARY_PATH指定动态库路径。
#4
上面的都对。
动态库确实是程序运行时才去加载的,但是加载库的路径会根据你编译参数而有不同。
比如,编译时参数是 -lb,那么程序会在系统的/lib/,/usr/lib等标准路径里面找 名为libb.so的库;系统默认的lib路径可以通过ldconfig 添加和查看。
编译时参数是 ./b.so 或者 /home/b.so,那么程序会在 ./ /home/路径下找名为b.so的库。
动态库确实是程序运行时才去加载的,但是加载库的路径会根据你编译参数而有不同。
比如,编译时参数是 -lb,那么程序会在系统的/lib/,/usr/lib等标准路径里面找 名为libb.so的库;系统默认的lib路径可以通过ldconfig 添加和查看。
编译时参数是 ./b.so 或者 /home/b.so,那么程序会在 ./ /home/路径下找名为b.so的库。
#1
ldd a
ldconfig -v | grep b.so
ldconfig -v | grep b.so
#2
ldd a会列出a所依赖的动态库。
#3
可以export LD_LIBRARY_PATH指定动态库路径。
#4
上面的都对。
动态库确实是程序运行时才去加载的,但是加载库的路径会根据你编译参数而有不同。
比如,编译时参数是 -lb,那么程序会在系统的/lib/,/usr/lib等标准路径里面找 名为libb.so的库;系统默认的lib路径可以通过ldconfig 添加和查看。
编译时参数是 ./b.so 或者 /home/b.so,那么程序会在 ./ /home/路径下找名为b.so的库。
动态库确实是程序运行时才去加载的,但是加载库的路径会根据你编译参数而有不同。
比如,编译时参数是 -lb,那么程序会在系统的/lib/,/usr/lib等标准路径里面找 名为libb.so的库;系统默认的lib路径可以通过ldconfig 添加和查看。
编译时参数是 ./b.so 或者 /home/b.so,那么程序会在 ./ /home/路径下找名为b.so的库。