Note : This is more specific to atmel studio, but is applicable to any environemnt that invokes the gcc linker with the -l option.

The *problem : Try to add a library reference (for example : foo.lib) to a project from atmel studio -> project properties page -> toolchain -> linker -> libraries. Now build the project. It will pass the name as libfoo.lib.a to the linker command line. 

Well that is how the linker behaves. It appends "lib" to whatever name you pass, and depending on the support for linking dynamic libraries it will either suffix .so or .a to the name you pass. To avoid this you need to prefix the name with a colon like :foo.lib and atmel studio should pick it up and work as expected.




*This is actually not a problem, but a well defined behaviour not apparantely clear to the end user.