linux编译程序时指定动态库路径问题

-L. 注意L后是个点,代表当前目录,所以当前目录被增加到所有-l参数的搜索范围里。 你关于so文件要不要用到的疑虑gcc不会考虑,但要总要能找到myhello这个你指定让它链接的东西吧补充:我又看一遍问题,你该不会还以为就算电脑里没有libmyhello.so程序应该也能编译通过啊这个意思吧?是的,可以搞出来个半成品。但是你告诉它了-lmyhello,-l可是实打实地要去找库文件的,不是随心所欲的。
■网友
目标文件编译完了只有相对地址,经过链接过程后才会分配实际的地址,这个过程不管是动静态库都是要参与啊,区别不过是静态库的各个段会根据链接脚本的配置集成到最后生成的ELF可执行文件中,面动态库不需要而已。所以-L指定了链接时需要的动态库的位置。编译时也许只需要一个名字(符号),但链接时可不是。
■网友
定位一个文件,用的不仅仅是名字,还有它所在的目录,假如你有两个一样名字的库在不同目录下,你又没指定哪个目录,链接器如何选择


    推荐阅读