|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Alexei Dets 2:5020/400 02 Aug 2002 18:50:18 To : Alexander Timoshenko Subject : Re: Компилер не находит strndup() --------------------------------------------------------------------------------
Hi!
Alexander Timoshenko wrote:
> Aleksey Trufanov <at@krm.net.ua> wrote:
>> Подскажите, отчего при компиляции
>> g++ -Dalloca=malloc -I./qt_inc -g -Wall -c main.cpp
>>
>> получается
>> main.cpp:251: `strndup' undeclared (first use this function)
>
>> хотя в main.cpp есть строки (согласно man strndup):
>> #define _GNU_SOURCE
>> #include <string.h>
> OS какая? Для linux
> <cite string.h>
> #if defined __USE_GNU
> extern char *strndup (__const char *__string, size_t __n)
> __THROW __attribute_malloc__;
> #endif
> </cite>
Hадеюсь, ты не советуешь человеку __USE_GNU определить?!
Это внутренний дефайн glibc, который AFAIR, в любом случае будет сброшен.
Кстати, определяется он при выставлении _GNU_SOURCE в программе :-)
Реальная проблема скорее всего в том, что string.h включается где-то еще
раньше в твоей программе, _до_ определения _GNU_SOURCE. Здесь он включается
уже второй раз и просто игнорируется.
Алексей
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: InfoDesk, S.A. (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/6488ee8aae3b.html, оценка из 5, голосов 10
|