找不到库是怎么回事?

编译后的程序有的运行时说找不到libcpp.so.2无法运行,有些就没有这些提示正常运行,这是为什么?编译时用的是QCC xx.c -o xx

1)有的程序链接了libcpp.so.2,有些没有
2) 有的程序起动时指定了库搜索路径,有的没有

可是我编译时并没有要链接它呀,为什么有的运行时就不去链接呢?是那个头文件编译时要找到它?