Здравствуйте!
Знакомлюсь с языком Си (GNU, ANSI ...) - типа «от азов». Изучил К&R, покурил разные маны и туторы. Нигде не встретил ответа на простой вопрос: как в конкретной операционной системе при сборке проекта и подключении стандартных Си библиотек находить названия файлов для линковки?
Например: в исходнике пишем инклуд на <math.h> а при сборке указываем библиотеку " -lm"! Почему не " -lmath"? Я конечно по форумам нашел, что оказывается файл библиотеки - «m.so»! А где это найти в системе? Где для хедеров стандартных библиотек «секретные» списки названий файлов для сборки?
Может я не так у Гугля спрашиваю, а то он меня все в разные мануалы тычет, где ничего про это не сказано.
==== ЕСТЬ ОТВЕТ ====
Для систем на платформе Linux:
1. Для стандартной библиотеки ищем в мануале по имени функции:
$ man sin | grep Link
Link with -lm.
$ man cosf | grep Link
Link with -lm.
2. Для расширений можно посмотреть командой:
$ pkg-config --cflags --libs freeglut
-lglut
В MS-Windows при использовании MinGW аналогично:
f:\cDev>pkg-config --cflags --libs libpng
-If:/cDev/mingw64/i686/include/libpng14 -Lf:/cDev/mingw64/i686/lib -lpng14