[devel] gcc4.8 bad, bad

Dmitry V. Levin ldv на altlinux.org
Чт Фев 27 14:17:01 MSK 2014


On Thu, Feb 27, 2014 at 02:40:36PM +0700, REAL wrote:
> 27.02.2014 09:26, Dmitry V. Levin пишет:
> >>In file included from ../../src/base/dict.h:31:0,
> >>                  from freetype.cpp:142:
> >>/usr/include/c++/4.8/cstdlib: In function 'long long int std::abs(long
> >>long int)':
> >>/usr/include/c++/4.8/cstdlib:174:20: error: declaration of C function
> >>'long long int std::abs(long long int)' conflicts with
> >>    abs(long long __x) { return __builtin_llabs (__x); }
> >>                     ^
> >>/usr/include/c++/4.8/cstdlib:166:3: error: previous declaration 'long
> >>int std::abs(long int)' here
> >>    abs(long __i) { return __builtin_labs(__i); }
> >>    ^
> >>[...]
> >
> >У вас там код, эквивалентный
> >
> >extern "C" {
> >#include <cstdlib>
> >}
> >
> >- он и не компилируется.
> 
> Нет, я проверил, ничего такого там нет.

Значит, плохо проверяли: у вас в freetype.cpp написано

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
...
#include "base/dict.h"

А в base/dict.h, в свою очередь, написано
#include <cstdlib>


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20140227/682c9278/attachment.bin>


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