页次: 1
这两天看了makefile的语句规则,但只是了解各大概。依然有些小问题请教各位
LIB = -L/home/Administrator/Install/netcdf-4.1.3-1/lib -lnetcdff -lnetcdf
上面这句是可以make成功的,但是
如果我去掉 -lnetcdff或-lnetcdf,编译会显示出错,提示找不到一些函数。
我原先的理解是,只要给出文件路径/home/Administrator/Install/netcdf-4.1.3-1/lib ,程序应该自己会找相应的库或函数,为什么还需要指明库(-lnetcdff -lnetcdf)
离线
这个和 Makefile 无关。-l 告诉链接器你要链接的动态库,它不会自己找的(系统里有那么多库,它不知道你要的函数在哪个库里)。那个路径(-L)是告诉链接器还可以在这里找库文件而已。
离线
这个和 Makefile 无关。-l 告诉链接器你要链接的动态库,它不会自己找的(系统里有那么多库,它不知道你要的函数在哪个库里)。那个路径(-L)是告诉链接器还可以在这里找库文件而已。
非常感谢!解释的很清楚!
离线
页次: 1