linux下库的使用
1 指定使用了什么库
-lstdc++
这样链接的时候就会去指定的目录下找链接库,优先使用动态库。然后在elf文件中加入依赖关系,放在NEEDED中。
2 指定在哪里去找库
-Wl,-rpath,some_path
这个有两个作用,第一,在链接的时候,帮助elf的生成。第二,告诉ld-linux.so.2该去哪里找NEEDED中指定的动态链接库。
就算是指定了-rpath,ld-linux.so.2也不是非要在-rpath下找动态库,如果指定的该path下没有该动态库,它会去默认目录下去找动态库,只有都找不到的时候才会报错。