LINUX.ORG.RU

Помогите разобраться с Eclipse


0

0

После Vim и Kate решил попробовать какую-нибудь приличную IDE. Выбор пал на сабж. После создания проект «Hello World C++ Project» отказался компилиться, сославшись на

g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/kr7.d" -MT"src/kr7.d" -o"src/kr7.o" "../src/kr7.cpp"
../src/kr7.cpp:9:20: warning: iostream: No such file or directory
../src/kr7.cpp: In function 'int main()':
../src/kr7.cpp:13: error: 'cout' was not declared in this scope
../src/kr7.cpp:13: error: 'endl' was not declared in this scope

В свойствах проекта я явно указал в include paths строчку /usr/include/c++/4.3.3/ , но ошибки полезли из стандартных хеадеров:

g++ -I/usr/include/c++/4.3.3 -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/kr7.d" -MT"src/kr7.d" -o"src/kr7.o" "../src/kr7.cpp"
In file included from /usr/include/c++/4.3.3/iosfwd:46,
                 from /usr/include/c++/4.3.3/ios:44,
                 from /usr/include/c++/4.3.3/ostream:45,
                 from /usr/include/c++/4.3.3/iostream:45,
                 from ../src/kr7.cpp:9:
/usr/include/c++/4.3.3/bits/stringfwd.h:46: error: expected constructor, destructor, or type conversion before '(' token
/usr/include/c++/4.3.3/bits/stringfwd.h:55: error: expected type-specifier before 'allocator'
/usr/include/c++/4.3.3/bits/stringfwd.h:55: error: expected '>' before 'allocator'
/usr/include/c++/4.3.3/bits/stringfwd.h:60: error: template argument 3 is invalid
/usr/include/c++/4.3.3/bits/stringfwd.h:60: error: invalid type in declaration before ';' token
/usr/include/c++/4.3.3/bits/stringfwd.h:68: error: '_GLIBCXX_END_NAMESPACE' does not name a type
In file included from /usr/include/c++/4.3.3/cwchar:49,
                 from /usr/include/c++/4.3.3/bits/postypes.h:47,
                 from /usr/include/c++/4.3.3/iosfwd:47,
                 from /usr/include/c++/4.3.3/ios:44,
                 from /usr/include/c++/4.3.3/ostream:45,
                 from /usr/include/c++/4.3.3/iostream:45,
                 from ../src/kr7.cpp:9:
/usr/include/c++/4.3.3/cstddef:57: error: '::size_t' has not been declared
In file included from /usr/include/c++/4.3.3/bits/postypes.h:47,
                 from /usr/include/c++/4.3.3/iosfwd:47,
                 from /usr/include/c++/4.3.3/ios:44,
                 from /usr/include/c++/4.3.3/ostream:45,
                 from /usr/include/c++/4.3.3/iostream:45,
                 from ../src/kr7.cpp:9:
/usr/include/c++/4.3.3/cwchar:61: error: expected constructor, destructor, or type conversion before 'extern'
In file included from /usr/include/c++/4.3.3/ios:45,
                 from /usr/include/c++/4.3.3/ostream:45,
                 from /usr/include/c++/4.3.3/iostream:45,
                 from ../src/kr7.cpp:9:
/usr/include/c++/4.3.3/exception:40: error: expected declaration before end of line

Неужели у эклипса по умолчанию настолько неюзабельный конфиг, или я что-то делаю неправильно?

★★★★★

Re: Помогите разобраться с Eclipse

Eclipse обычно подключает хедеры, которые соответсвуют компилятору. У вас версия g++ не совпадает с версией libstdc++. Свяжите g++ -> g++-4.3.3.

Conficker ()
Ответ на: Re: Помогите разобраться с Eclipse от Conficker

Re: Помогите разобраться с Eclipse

dan-desktop:/home/dan# g++ --version
g++ (Debian 4.3.3-8) 4.3.3


dan-desktop:/home/dan# apt-file search /usr/include/c++/4.3.3
libstdc++6-4.3-dev: /usr/include/c++/4.3.3


dan-desktop:/home/dan# aptitude show libstdc++6-4.3-dev
Package: libstdc++6-4.3-dev
State: installed
Version: 4.3.3-8

melkor217 ★★★★★ ()
Ответ на: Re: Помогите разобраться с Eclipse от melkor217

Re: Помогите разобраться с Eclipse

Собираю g++(4.1.3), libstdc++6(4.3):

g++ -I/usr/include/c++/4.3 -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/aaa.d" -MT"src/aaa.d" -o"src/aaa.o" "../src/aaa.cpp"
/usr/include/c++/4.3/bits/stringfwd.h:46: error: expected constructor, destructor, or type conversion before ‘(’ token
/usr/include/c++/4.3/bits/stringfwd.h:55: error: expected type-specifier before ‘allocator’
/usr/include/c++/4.3/bits/stringfwd.h:55: error: expected `>' before ‘allocator’
/usr/include/c++/4.3/bits/stringfwd.h:55: error: expected unqualified-id before ‘>’ token
/usr/include/c++/4.3/bits/stringfwd.h:60: error: expected initializer before ‘<’ token
/usr/include/c++/4.3/bits/stringfwd.h:65: error: expected initializer before ‘<’ token

Ничего не напоминает?

Проверте внимателнее. Удалите лишние пути: Project -> Properties -> C/C++ General -> Path and Symbols -> Includes -> GNU C++.

Conficker ()

Re: Помогите разобраться с Eclipse

Ещё раз перепроверил на свежеустановленном Debian squeeze -- те же ошибки.

melkor217 ★★★★★ ()

Re: Помогите разобраться с Eclipse

Как выяснилось, проблема есть только на версиях 4.х. На 3.2.2 всё работает нормально.

// Неужели никто эклипс для C/C++ не использует.. может, есть что-нибудь лучше?)

melkor217 ★★★★★ ()
Ответ на: Re: Помогите разобраться с Eclipse от melkor217

Re: Помогите разобраться с Eclipse

> судя по всему, оно есть internal builder

Там вообще противопоказано куда-то лезть руками. Попробуй сгенерировать из этого проекта Makefile и посмотри, что не так.

Или просто пользуйся Makefile project.

tailgunner ★★★★★ ()
Ответ на: Re: Помогите разобраться с Eclipse от melkor217

Re: Помогите разобраться с Eclipse

>> Или просто пользуйся Makefile project.

> Оно даже там переменные окружения подменяет.

Значит, оно ненавидит тебя лично.

> g++ main.cpp -o main

> main.cpp:8:20: error: iostream: No such file or directory

Хочешь сказать, что если выдать эту команду на этот файл в шелле, она компилирует без ошибок?

tailgunner ★★★★★ ()
Ответ на: Re: Помогите разобраться с Eclipse от tailgunner

Re: Помогите разобраться с Eclipse

>Хочешь сказать, что если выдать эту команду на этот файл в шелле, она компилирует без ошибок?

да.

кстати, вот как я до этого докатился:

1) Качаем образ Debian Squeeze и обновляемся до конца.

2) Ставим все зависимости eclipse 3.2, который в репозитории.

3) Качаем с eclipse.org последнюю сборку Eclipse CDT.

4) Ужасаемся неработающему эклипсу.

melkor217 ★★★★★ ()
Ответ на: Re: Помогите разобраться с Eclipse от tailgunner

Re: Помогите разобраться с Eclipse

>Тогда зачем всё это нытье?

Не в мейкфайлах дело. Ещё раз, проблема в том, что эклипс не находит библиотеки С++ в тестинге дебиан, и указать их правильным образом не удаётся.

melkor217 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.