On Tue, 6 May 2008 06:16:11 -0700 (PDT), D3|\||\|!$ wrote:
>> These lines are likely bogus:
>>
>> > name_of_project_DEPENDENCIES = ./src/libsrc.a lib_file2.a lib_file3.a
>> > name_of_project_LDADD = ./src/libsrc.a -llib_file1.a lib_file2.a 
>> > lib_file3.a
>>
>> They probably should be:
>>
>> name_of_project_DEPENDENCIES = ./src/libsrc.a ./lib_folder/lib_file1.a 
>> ./lib_folder/lib_file2.a ./lib_folder/lib_file3.a
>> name_of_project_LDADD =        ./src/libsrc.a ./lib_folder/lib_file1.a 
>> ./lib_folder/lib_file2.a ./lib_folder/lib_file3.a

> I tried doing the stuff but then gmake is not able to find the libs
> during make(though the compilation and linking happens normally...)

> My problem is "how to pass multiple .a files to a project"?? I have
> passed the dir_path as a compiler flag as -Ldir_path then I'm trying
> to pass the lib file names as -llibfile1.a -llibfile2.a...

There's the problem.  To link with the library dir_path/libfile1.a, you
should use the linker flags

        -Ldir_path -lfile1

This scheme works fine as long is the library is prebuilt, but not if
it's also a target of the Makefile and has other targets depending on it.
In that case, you should simply use the filename or pathname, not the
linker flags, in the dependency rules.  The "-L" and "-l" options are
understood by ld, but not by make.

> It is then not able to access then entire string of files. If I remove
> the prefix -l from the last file, it starts throwing the error "no
> rule to build target" for the last file.
> Also, the .a files have a "lib" prefix such as libfilename.a. So I
> tried passing the name as -lfilename.a but this also worked in the
> same manner as described above.

The "lib" prefix and the suffix (possibly ".a" or ".so") must be omitted
when using the "-l" directive.


-- 
Dave Seaman
Third Circuit ignores precedent in Mumia Abu-Jamal ruling.
<http://www.indybay.org/newsitems/2008/03/29/18489281.php>
_______________________________________________
help-gplusplus mailing list
help-gplusplus@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gplusplus

Reply via email to