On Thu, Jun 10, 2004 at 01:39:35PM +0400, Alexey Voinov wrote: > Igor Tertishny wrote > > > Значит приведены не все сообщения. В том фрагменте нет ни одного сообщения > > > об ошибке в /usr/include/linux/cdrom.h > > > > CdboDialogBase.cpp:49: warning: base `KDialog' will be initialized after > > CdboDialogBase.cpp:49: warning: base `DCOPObject' > > CdboDialogBase.cpp:49: warning: when initialized here > > In file included from /usr/include/linux/byteorder/little_endian.h:11, > > from /usr/include/asm/byteorder.h:65, > > from /usr/include/linux/cdrom.h:14, > > from CdboCDRom.cpp:34, > > from libcdboshared_la.all_cpp.cpp:4: > > /usr/include/linux/byteorder/swab.h: In function `const __u32 __fswab24 > > (unsigned int)': > > /usr/include/linux/byteorder/swab.h:174: error: ISO C++ forbids braced-groups > > within expressions > > /usr/include/linux/byteorder/swab.h:174: error: ISO C++ forbids braced-groups > > within expressions > > /usr/include/linux/byteorder/swab.h: In function `__u32 __swab24p(__u32*)': > > /usr/include/linux/byteorder/swab.h:178: error: ISO C++ forbids braced-groups > > within expressions > > /usr/include/linux/byteorder/swab.h:178: error: ISO C++ forbids braced-groups > > within expressions > > /usr/include/linux/byteorder/swab.h: In function `void __swab24s(__u32*)': > > /usr/include/linux/byteorder/swab.h:182: error: ISO C++ forbids braced-groups > > within expressions > > > > Точнее, ошибки касаются /usr/include/linux/byteorder/swab.h, на который > > ссылается cdrom.h > Вот. Совсем другое дело. Объясняю: > в файле /usr/include/linux/byteorder/swab.h используются конструкции C99, > которые не являются частью стандарта C++98. Все знают, что kernel-headers > не совместимы с языками отличными от C. Это нормально. Все включения > kernel-headers надо выносить в отдельные файлы на языке C. Использовать > их напрямую в C++ нельзя. Да нормально они в C++ подключаются. Только не надо использовать опции компилятора -ansi, -pedantic и т.п.