Является ли lib {имя библиотеки} .a / .so соглашением об именах для статических библиотек в Linux?

Мне недавно пришлось заниматься незначительным программированием в системе Ubuntu (в которой я очень низкоуровневый новичок), и я действительно только знакомлюсь с make-файлами.

Я заметил, что аргументы, указывающие компоновщику, какие библиотеки включать, всегда были -l {имя библиотеки}, где соответствующей библиотекой будет что-то под названием «lib {имя библиотеки} .a» в папке / usr / lib.

Мне интересно: это конвенция? Я бы подумал, что мне нужно набрать -llibNAME, чтобы найти библиотеку с именем libNAME.a, но, похоже, предполагается использование префикса lib.

Всегда ли так? Могу ли я назвать библиотеку без префикса lib?

12
задан 8bitcartridge 3 July 2011 в 05:56
поделиться