G++: /usr/include/stdio.h:30: error: expected constructor, destructor, or type conversion before 'extern'
pikki 31 января, 2007 - 06:36
Доброе утро!
Кто знает, откуда берется ошибка, указанная в теме, и как с ней бороться? казалось бы, stdio.h --- стандартная библиотека, в ней не должно быть ошибок...
Я погуглил на эту тему, но ответов не нашел.
»
- Для комментирования войдите или зарегистрируйтесь
Не всегда
Не всегда ошибка там, где говорит компилятор, нередко она где-то раньше.
Так что покажи лучше свой исходник, компиляция которого приводит к такой ошибке.
Вот тут:
http://www.mail-archive.com/glob2-devel@nongnu.org/msg02042.html
винят gcc-4.
Не gcc-4
Я натыкался уже на эту страничку, но здесь проблема не в gcc-4
На gcc-3 тоже пробовал, та же история.
Может, параметры компиляции не те:
Мне кажется, я что-то не указал для используемых библиотек, иначе странно иметь столько бибиотечных ошибок. Привожу кусок кода с заголовками (весь файл большой):
На самом деле ошибок выдается больше,я указал в теме только первую. Вот фрагмент вывода команды make:
Проблема в инклудах GLib
-I/usr/lib/glib/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
всё дело в том, что
glib.h
из
-I/usr/include/glib-2.0
цепляет не свой
glibconfig.h
(из-I/usr/lib/glib/include
)а первой версии glib,
убери
-I/usr/lib/glib/include
и всё соберётся.
Это была глупая ошибка,
какая-то опечатка в тексте.
Спасибо KiberGus за совет!