Пытаюсь перейти на GCC (с уже не маленьким проектом). Проект вполне нормально собрался под Watcom. По ходу дела возникла непонятная проблема: Вылетают тонны ошибок на его собственные хедеры. Типа (..\lib\gcc\mingw32\4.7.1\include\c++\exception):
class exception { public: exception() _GLIBCXX_USE_NOEXCEPT { } virtual ~exception() _GLIBCXX_USE_NOEXCEPT; ..\lib\gcc\mingw32\4.7.1\include\c++\exception|65|error: expected identifier before '(' token| ..\lib\gcc\mingw32\4.7.1\include\c++\exception|65|error: expected ')' before numeric constant| ..\lib\gcc\mingw32\4.7.1\include\c++\exception|65|error: expected ')' before numeric constant| ..\lib\gcc\mingw32\4.7.1\include\c++\exception|65|error: 'exception' declared as function returning a function| ..\lib\gcc\mingw32\4.7.1\include\c++\exception|65|error: expected ';' at end of member declaration|
На выходе препроца:
class exception
{
public:
exception() ((0) ? (void)0 : _assert("0", "../lib/gcc/mingw32/4.7.1/include/c++/exception", 65)) { }
virtual ~exception() ((0) ? (void)0 : _assert("0", "../lib/gcc/mingw32/4.7.1/include/c++/exception", 66));
Другой пример (..\lib\gcc\mingw32\4.7.1\include\c++\new):
class bad_alloc : public exception { public: bad_alloc() throw() { } ..\lib\gcc\mingw32\4.7.1\include\c++\new|59|error: expected ')' before numeric constant| ..\lib\gcc\mingw32\4.7.1\include\c++\new|59|error: expected ')' before numeric constant| ..\lib\gcc\mingw32\4.7.1\include\c++\new|59|error: 'bad_alloc' declared as function returning a function| ..\lib\gcc\mingw32\4.7.1\include\c++\new|59|error: expected ';' at end of member declaration| ..\lib\gcc\mingw32\4.7.1\include\c++\new|59|error: expected unqualified-id before numeric constant| ..\lib\gcc\mingw32\4.7.1\include\c++\new|63|error: expected identifier before '(' token| ..\lib\gcc\mingw32\4.7.1\include\c++\new|63|error: expected ')' before numeric constant| ..\lib\gcc\mingw32\4.7.1\include\c++\new|63|error: expected ')' before numeric constant| ..\lib\gcc\mingw32\4.7.1\include\c++\new|63|error: 'bad_alloc' declared as function returning a function| ..\lib\gcc\mingw32\4.7.1\include\c++\new|63|error: expected ';' at end of member declaration| ..\lib\gcc\mingw32\4.7.1\include\c++\new|63|error: expected unqualified-id before numeric constant| ..\lib\gcc\mingw32\4.7.1\include\c++\new|66|error: expected ';' at end of member declaration|
Было подозрение, что там потерян какой-то дефайн, но на выходе препроцессора вроде всё норм. Может кто сталкивался с таким раньше?
В качестве иде - codeBlocks, mingw из его комплекта.