求大神解释一下动态库位置与头文件位置的关系,该如何解决

求大神解释一下动态库位置与头文件位置的关系
*.so动态库的安装位置和头文件*.h的位置有什么关系  我写代码时包含了wiringPi.h头文件,编译后用ldd命令看到我的代码调用了libwiringPi.so动态库,该库位置是/usr/local/lib,但头文件位置是/usr/local/include/,这两者到底是怎么关联的,求大神指导

------解决方案--------------------
头文件仅仅是用于编译时用的,跟运行时没有任何关系。编译时默认会到/usr/local/include/找相应函数的定义。运行时才需要动态链接库的支持
这两个路径系统环境变量中都有包含