A依赖于B的函数f gcc test.c B A C -o test 则,由于你的A使用了B的f,gcc在链接时,发现test.c没有用到B库的f,所以不会将f链接到test,而C已经没有机会链接到B的f(因为gcc按照顺序链接输入文件)。结果导致A所需要的f找不到,就包无法解析外部符号错误了。