gfortran can't find library that IS there
Try -lbar
(or perhaps -lhealpix
, if that's the real library name).
-lxyz
results in a search for a file named libxyz.a
. Consequently, if you specify -llibbar.a
then the file needs to be named liblibbar.a.a
.
You could also simply specify the path and full name of the archive file on the gfortran command line: gfortran -o foo foo.f90 /directory/of/library/libbar.a
StevenMurray
Updated on August 15, 2022Comments
-
StevenMurray over 1 year
I'm having trouble linking my program to a library. I've never done this before so I'm probably doing something stupid, but as far as I can tell I'm doing the right thing. I need to link my program
foo.f90
to a librarylibbar.a
which is in a directory elsewhere below my home directory. I enter the command:gfortran -c foo.f90 gfortran -o foo foo.f90 -L/directory/of/library -llibbar.a
But this throws:
ld: library not found for -llibhealpix.a
Where of course
libhealpix.a
is the real library (rather thanlibbar.a
)Any ideas as to why this would occur?