[mdk-re] Re: [mdk-re] include_next, kdevelop и все такое

Alexander Bokovoy =?iso-8859-1?q?ab_=CE=C1_avilink=2Enet?=
Пн Апр 30 12:11:13 MSD 2001


On Mon, Apr 30, 2001 at 05:49:43AM +0400, Dmitry Samoyloff wrote:
> 29 Апрель 2001 12:06, Sergey Vlasov wrote:
> > On Sun, 29 Apr 2001 02:21:06 +0400
> >
> > Dmitry Samoyloff <dsamoyloff на mail.ru> wrote:
> > > Здравствуйте!
> > >
> > > Извиняйте за оффтопик, но это появилось после установки Spring и кто-то,
> > > может быть, знает в чем дело. Во-первых, мой Qt/KDE-проект стал выдавать
> > > такие вот warnings:
> > >
> > > In file included from /usr/lib/qt2/include/qwindowdefs.h:48,
> > > <...>
> > > /usr/include/limits.h:124:3: warning: ISO C does not allow #include_next
> > >
> > > В /usr/include/limits.h написано следующее:
> > >
> > > #if defined __GNUC__ && !defined _GCC_LIMITS_H_
> > > /* `_GCC_LIMITS_H_' is what GCC's file defines.  */
> > > # include_next <limits.h>
> > >
> > > Думаю, что-то надо подкрутить в configure.in или где-то рядом :-)
> > > Помогите
> > > pls, а то в проекте полсотни исходных файлов -- и почти каждый ругается,
> > > ужас
> > > просто!
> >
> > А с какими ключами вызывается компилятор? Похоже, что это виновата
> > комбинация -ansi -pedantic c -I/usr/include. Кстати, надо бы найти, откуда
> > берется -I/usr/include, и выкорчевать - даже в info gcc написано, что эта
> > опция может вызывать глюки.
> 
> Спасибо, что откликнулись на мой вопрос!
> Опции такие:
> g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include -I/usr/lib/qt2/include 
> -I/usr/X11R6/include     -O2 -fno-exceptions -fno-check-new -Wall -pedantic 
> -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long 
> -fno-builtin -O0 -g3 -Wall  -c file.cpp
> 
> Значит, нужно попробовать убрать -pedantic и -I/usr/include (странно, кстати, 
> такой ведь безобидный ключик). Только вот эти опции генерятся автоматически 
> из Makefile.am, а что в нем подправить -- не знаю :( Буду очень признателен 
> за подсказку.
-I/usr/include является отнюдь не безобидным ключем, ведь он вносит
/usr/include в список директорий для поиска пользовательских файлов
заголовков, причем в самое начало этого списка. Тем самым, Вы заставляете
компилятор игнорировать, например, foo.h в /usr/lib/qt2/include, 
если он есть в /usr/include.
-- 
Sincerely yours, Alexander Bokovoy 
  The Midgard Project    | ALT  Linux  Team | Minsk Linux Users Group
 www.midgard-project.org | www.altlinux.ru  |    www.minsk-lug.net 
-- You won't skid if you stay in a rut.
		-- Frank Hubbard




Подробная информация о списке рассылки community