TH3*_*339 11 linker gcc fortran ld gfortran
这是我第一次尝试使用makefile编译FORTRAN代码.操作系统是Ubuntu 12.04 LTS 64位.我遇到了以下错误:
gfortran -o przm3123.exe canopy.o chem.o cnfuns.o cropdate.o datemod.o debug.o debug_cn.o f2kcli.o floatcmp.o furrow.o general.o i_errchk.o infnan.o inivar.o ioluns.o iosubs.o lambertw.o m_readvars.o utils.o wind.o fcscnc.o przm3.o rsexec.o rsinp1.o rsinp2.o rsinp3.o rsmcar.o rsmisc.o rsprz1.o rsprz2.o rsprz3.o rsprzn.o rsutil.o rsvado.o -L ../libanne4.0/lib -lwdm -ladwdm -lutil
/usr/bin/ld: cannot find -lwdm
/usr/bin/ld: cannot find -ladwdm
collect2: ld returned 1 exit status
make: *** [przm3123.exe] Error 1
Run Code Online (Sandbox Code Playgroud)
makefile中的关键元素是:
przm2_LIBS = -L ../libanne4.0/lib -lwdm -ladwdm -lutil
Run Code Online (Sandbox Code Playgroud)
我有什么办法可以解决这个错误吗?我应该尝试其他编译器吗?
alk*_*alk 10
作为../libanne4.0/lib相对路径,您可以尝试将其更改为绝对路径.
您还可以检查链接器进程是否有权访问和读取库.
更新:要让链接器找到使用选项指定的库-l<name>,libray的名称应该是,lib<name>.[a|so]并且-L应该指向库所在路径的参数.
-L需要先于它的-l选项.
可以指定-l和/或-L多次.
| 归档时间: |
|
| 查看次数: |
96622 次 |
| 最近记录: |