[sisyphus] Вопрос про gcc
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Вт Янв 28 16:06:40 MSK 2003
On Mon, 27 Jan 2003 23:39:13 +0300
Volkov Serge <vserge на altlinux.ru> wrote:
> Hello Sergey,
>
> Monday, January 27, 2003, 6:51:00 PM, you wrote:
>
> SV> On Mon, 27 Jan 2003 16:38:49 +0300
> SV> Volkov Serge <vserge на altlinux.ru> wrote:
>
> >> Прошу сообщество меня извинить, не не могу понять как раскрываются
> >> макросы gcc -Dмарос
>
> SV> А что там непонятного? info gcc, Preprocessor Options:
>
> SV> `-D NAME'
> SV> Predefine NAME as a macro, with definition `1'.
>
> SV> `-D NAME=DEFINITION'
> SV> Predefine NAME as a macro, with definition DEFINITION. ...
>
> Означает ли это, что при линковке программы (gcc -shared
> -DWITH_OPENLDAP mod_auth_ldap.o aut_ldap_tralala.o) это не вызывает
> линковку с необходимыми библиотеками, а только вызывает подключение в
> исходном коде строк типа
> #ifdef WITH_OPENLDAP
> тру-ля-ля
> #endif
Именно так - -D обрабатывается только препроцессором. Для линковки
нужно добавлять соответствующие -lXXX.
Вообще у gcc есть извращённые опции типа -pthread, влияющие на всё
подряд, но в данном случае такого не происходит.
Подробная информация о списке рассылки Sisyphus