-Wl,-rpath的使用(不完全)

        在使用gcc进行编译时,由于涉及到了移植问题(大概吧),把部分动态链接库复制到了工程的文件夹下,但是在进行编译的时候,会出现提示libxxx.so need by libxxx.so,not found(try using -rpath or -rpath-link)

        该提示我理解的意思应该是动态链接库没有找到,需要使用-rpath进行指定,使用-rpath只需要在gcc命令中添加-Wl,-rpath=<动态库文件位置>

        未使用-Wl,-rpath=.时:

	linux-vdso.so.1 (0x00007ffd17acb000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f042bd55000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f042ba54000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f042b83e000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f042b493000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f042c060000)

        使用之后:

	linux-vdso.so.1 (0x00007ffd765be000)
	libstdc++.so.6 => ./libstdc++.so.6 (0x00007f5966823000)
	libm.so.6 => ./libm.so.6 (0x00007f5966522000)
	libgcc_s.so.1 => ./libgcc_s.so.1 (0x00007f596630c000)
	libc.so.6 => ./libc.so.6 (0x00007f5965f61000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f5966b2e000)

        可以发现,动态链接库已经指向当前文件夹




        才疏学浅,这只针对学习中遇到的问题时的一些相关知识的了解时,留下的笔记,有错的话,希望各位能够指正,不喜勿喷

    

猜你喜欢

转载自blog.csdn.net/LQingGang/article/details/80384857