gcc的选项"-l"是用来指定需要连接的库的,gcc会在系统的标准目录下寻找指定的库,这些标准目录是什么呢?
一般来说应该是/usr/lib和/lib,然而不同的系统还是可能会不同;有时我们还想知道这些标准目录的顺序,
这时就可以使用gcc的选项-print-search-dirs,下面是在我的debian下执行的结果:
$ gcc -print-search-dirs
install: /usr/lib/gcc-lib/i486-linux/3.3.5/
programs: =/usr/lib/gcc-lib/i486-linux/3.3.5/:/usr/lib/gcc-lib/i486-linux/3.3.5/:/usr/lib/gcc-lib/i486-linux/:/usr/lib/gcc/i486-linux/3.3.5/:/usr/lib/gcc/i486-linux/:/usr/lib/gcc-lib/i486-linux/3.3.5/../../../../i486-linux/bin/i486-linux/3.3.5/:/usr/lib/gcc-lib/i486-linux/3.3.5/../../../../i486-linux/bin/
libraries: =/usr/lib/gcc-lib/i486-linux/3.3.5/:/usr/lib/gcc/i486-linux/3.3.5/:/usr/lib/gcc-lib/i486-linux/3.3.5/../../../../i486-linux/lib/i486-linux/3.3.5/:/usr/lib/gcc-lib/i486-linux/3.3.5/../../../../i486-linux/lib/:/usr/lib/gcc-lib/i486-linux/3.3.5/../../../i486-linux/3.3.5/:/usr/lib/gcc-lib/i486-linux/3.3.5/../../../:/lib/i486-linux/3.3.5/:/lib/:/usr/lib/i486-linux/3.3.5/:/usr/lib/
可以看到,在我的系统上,标准目录的搜索顺序是/lib,/usr/lib,另外这个还输出了gcc的安装目录和程序的搜索目录,对gcc的故障诊断也可能有帮助.
一般来说应该是/usr/lib和/lib,然而不同的系统还是可能会不同;有时我们还想知道这些标准目录的顺序,
这时就可以使用gcc的选项-print-search-dirs,下面是在我的debian下执行的结果:
$ gcc -print-search-dirs
install: /usr/lib/gcc-lib/i486-linux/3.3.5/
programs: =/usr/lib/gcc-lib/i486-linux/3.3.5/:/usr/lib/gcc-lib/i486-linux/3.3.5/:/usr/lib/gcc-lib/i486-linux/:/usr/lib/gcc/i486-linux/3.3.5/:/usr/lib/gcc/i486-linux/:/usr/lib/gcc-lib/i486-linux/3.3.5/../../../../i486-linux/bin/i486-linux/3.3.5/:/usr/lib/gcc-lib/i486-linux/3.3.5/../../../../i486-linux/bin/
libraries: =/usr/lib/gcc-lib/i486-linux/3.3.5/:/usr/lib/gcc/i486-linux/3.3.5/:/usr/lib/gcc-lib/i486-linux/3.3.5/../../../../i486-linux/lib/i486-linux/3.3.5/:/usr/lib/gcc-lib/i486-linux/3.3.5/../../../../i486-linux/lib/:/usr/lib/gcc-lib/i486-linux/3.3.5/../../../i486-linux/3.3.5/:/usr/lib/gcc-lib/i486-linux/3.3.5/../../../:/lib/i486-linux/3.3.5/:/lib/:/usr/lib/i486-linux/3.3.5/:/usr/lib/
可以看到,在我的系统上,标准目录的搜索顺序是/lib,/usr/lib,另外这个还输出了gcc的安装目录和程序的搜索目录,对gcc的故障诊断也可能有帮助.