当前位置: 技术问答>linux和unix
静态库链接不上,是怎么回事呢?
来源: 互联网 发布时间:2016-11-02
本文导语: 在Linux下 编译一个NCL 的C程序需要链接libnetcdf.a的一个静态库,它放在/usr/local/lib下, 编译时使用命令nhlcc -o test test.c -l/usr/local/lib/libnetcdf.a (NCL 自带命令) 即gcc -DSYSV -D_POSIX_SOURCE -D_XOPEN_SOURCE -DByteSwapped -...
在Linux下 编译一个NCL 的C程序需要链接libnetcdf.a的一个静态库,它放在/usr/local/lib下,
编译时使用命令nhlcc -o test test.c -l/usr/local/lib/libnetcdf.a (NCL 自带命令)
即gcc -DSYSV -D_POSIX_SOURCE -D_XOPEN_SOURCE -DByteSwapped -D__UNIXOS2__ -DNeedFuncProto -ansi -fPIC -O0 -o cn14c cn14c.c -l/usr/local/lib/libnetcdf.a -L/usr/local/lib -I/usr/local/include -lhlu -lncarg -lncarg_gks -lncarg_c -lX11 -lXext -lgfortran -lm
但是报错
/usr/bin/ld: cannot find -l/usr/local/lib/libnetcdf.a
我查看了/ect/ld.so.conf.d/lic.conf文件中默认路径为/usr/local/lib 没有错啊,请问为什么还链不进去呢?
求高手指点!
编译时使用命令nhlcc -o test test.c -l/usr/local/lib/libnetcdf.a (NCL 自带命令)
即gcc -DSYSV -D_POSIX_SOURCE -D_XOPEN_SOURCE -DByteSwapped -D__UNIXOS2__ -DNeedFuncProto -ansi -fPIC -O0 -o cn14c cn14c.c -l/usr/local/lib/libnetcdf.a -L/usr/local/lib -I/usr/local/include -lhlu -lncarg -lncarg_gks -lncarg_c -lX11 -lXext -lgfortran -lm
但是报错
/usr/bin/ld: cannot find -l/usr/local/lib/libnetcdf.a
我查看了/ect/ld.so.conf.d/lic.conf文件中默认路径为/usr/local/lib 没有错啊,请问为什么还链不进去呢?
求高手指点!
|
-L/usr/local/lib -lnetcdf
试一下
试一下