The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Нужна помощь"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Нужна помощь"
Сообщение от tmax Искать по авторуВ закладки on 10-Дек-03, 19:21  (MSK)
Изучаю программирование на с/с++ под Linux (Поставил RedHat9).
Использую для работы среду Anjuta.

Проблема 1: почему я не могу запустить скомпилированную программу
в лоб из консоли. Программа просто выводит несколько
строк текста в поток вывода по cout. При запуске из среды все ок.
Когда я ее запускаю из отдельной консоли - на экран ничего не выводится.

Проблема 2: компилятор gcc (что шел с RedHat9) периодически подвисает.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Нужна помощь"
Сообщение от Асен Тотин emailИскать по авторуВ закладки on 14-Дек-03, 04:19  (MSK)
Привет,

Что такое "Anjuta" я не знаю - компилятор под Linux называется gcc.

Запишите свою программу и скомпилируйте ее под консоль - если что не так, компилятор вам скажет:

gcc -o <output_file_name> program.cpp

WWell,


  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Нужна помощь"
Сообщение от gsoftadmin emailИскать по авторуВ закладки on 17-Дек-03, 20:38  (MSK)
Трям. А тоже понятия не имею об этой Анюте.

Лучше всего связки vim+gcc либо emacs+gcc.

Давайте сюда Вашу прогу, расковыряем ее и глянем, что не так.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Нужна помощь"
Сообщение от Blackgrin emailИскать по авторуВ закладки on 18-Дек-03, 11:42  (MSK)
>Трям. А тоже понятия не имею об этой Анюте.
>
>Лучше всего связки vim+gcc либо emacs+gcc.
>
>Давайте сюда Вашу прогу, расковыряем ее и глянем, что не так.

лезу в emacs... пишу код, в менюхе тулс->компайл. Предлагается ввести комманду "make -k". Жму ентер:

make -k
make: *** No targets specified and no makefile found. Stop.

Compilation exited abnormally with code 2 at Thu Dec 18 11:38:16

Плз, объясните, что мне необходимо зделать, чтобы скомпилировать с++шный исходник? Уже за 3 дня устал.. перебрал кучу ide.. половину установить не могу, половина не хочет компилировать самые простые исходники :(

Попробывал сделать как выше сказано... создал просто черед MC сппшный файл:
#include <iostream>
int main () {
cout << "llala";
return 0;

}

Говорит:
gcc -o la la.cpp
la.cpp: In function `int main()':
la.cpp:3: `cout' undeclared (first use this function)
la.cpp:3: (Each undeclared identifier is reported only once for each function
   it appears in.)

Если пишу "iostream.h" -
In file included from /usr/include/c++/3.2/backward/iostream.h:31,
                 from la.cpp:1:
/usr/include/c++/3.2/backward/backward_warning.h:32:2: warning: #warning This fi
le includes at least one deprecated or antiquated header. Please consider using
one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples in
clude substituting the <X> header for the <X.h> header for C++ includes, or <sst
ream> instead of the deprecated header <strstream.h>. To disable this warning us
e -Wno-deprecated.
In file included from /usr/include/c++/3.2/backward/iostream.h:31,
                 from la.cpp:1:
/usr/include/c++/3.2/backward/backward_warning.h:43: parse error before `['
   token
In file included from /usr/include/c++/3.2/iosfwd:45,
                 from /usr/include/c++/3.2/ios:44,
                 from /usr/include/c++/3.2/ostream:45,
                 from /usr/include/c++/3.2/iostream:45,
                 from /usr/include/c++/3.2/backward/iostream.h:32,
                 from la.cpp:1:
/usr/include/c++/3.2/bits/stringfwd.h:51: `char_traits' is not a template
/usr/include/c++/3.2/bits/stringfwd.h:53: `char_traits' is not a template
/usr/include/c++/3.2/bits/stringfwd.h:59: parse error before `<' token
/usr/include/c++/3.2/bits/stringfwd.h:63: syntax error before `;' token
/usr/include/c++/3.2/bits/stringfwd.h:64: syntax error before `;' token
In file included from /usr/include/c++/3.2/cstddef:48,
                 from /usr/include/c++/3.2/cstdio:50,
                 from /usr/include/c++/3.2/i386-redhat-linux/bits/c++io.h:35,
                 from /usr/include/c++/3.2/bits/fpos.h:44,
                 from /usr/include/c++/3.2/iosfwd:46,
                 from /usr/include/c++/3.2/ios:44,
                 from /usr/include/c++/3.2/ostream:45,
                 from /usr/include/c++/3.2/iostream:45,
                 from /usr/include/c++/3.2/backward/iostream.h:32,
                 from la.cpp:1:
/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h:147: template
   declaration of `typedef int ptrdiff_t'
/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h:147: confused by earlier errors, bailing out

ЧТо делать не знаю :(

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Нужна помощь"
Сообщение от gsoftadmin emailИскать по авторуВ закладки on 18-Дек-03, 11:54  (MSK)
>лезу в emacs... пишу код, в менюхе тулс->компайл. Предлагается ввести комманду "make -k". Жму ентер:
>
>make -k
>make: *** No targets specified and no makefile found. Stop.
>
>Compilation exited abnormally with code 2 at Thu Dec 18 11:38:16

Тут так... Утилита make ищет в той папке, в которой Ты ее запускаешь, файл Makefile, в котором описаны зависимости для компиляции. Подробнее покопайся на этом сервере, ну и конечно man make.

>Плз, объясните, что мне необходимо зделать, чтобы скомпилировать с++шный исходник? Уже за
>3 дня устал.. перебрал кучу ide.. половину установить не могу, половина
>не хочет компилировать самые простые исходники :(
>
>Попробывал сделать как выше сказано... создал просто черед MC сппшный файл:
>#include <iostream>
>int main () {
>cout << "llala";
>return 0;
>
>}
>
>Говорит:
>gcc -o la la.cpp
>la.cpp: In function `int main()':
>la.cpp:3: `cout' undeclared (first use this function)
>la.cpp:3: (Each undeclared identifier is reported only once for each function
>   it appears in.)
>
>Если пишу "iostream.h" -
>In file included from /usr/include/c++/3.2/backward/iostream.h:31,
>            
>     from la.cpp:1:
>/usr/include/c++/3.2/backward/backward_warning.h:32:2: warning: #warning This fi
>le includes at least one deprecated or antiquated header. Please consider using
>
>one of the 32 headers found in section 17.4.1.2 of the C++
>standard. Examples in
>clude substituting the <X> header for the <X.h> header for C++ includes, or <sst
>ream> instead of the deprecated header <strstream.h>. To disable this warning us
>e -Wno-deprecated.
>In file included from /usr/include/c++/3.2/backward/iostream.h:31,
>            
>     from la.cpp:1:
>/usr/include/c++/3.2/backward/backward_warning.h:43: parse error before `['
>   token
>In file included from /usr/include/c++/3.2/iosfwd:45,
>            
>     from /usr/include/c++/3.2/ios:44,
>            
>     from /usr/include/c++/3.2/ostream:45,
>            
>     from /usr/include/c++/3.2/iostream:45,
>            
>     from /usr/include/c++/3.2/backward/iostream.h:32,
>            
>     from la.cpp:1:
>/usr/include/c++/3.2/bits/stringfwd.h:51: `char_traits' is not a template
>/usr/include/c++/3.2/bits/stringfwd.h:53: `char_traits' is not a template
>/usr/include/c++/3.2/bits/stringfwd.h:59: parse error before `<' token
>/usr/include/c++/3.2/bits/stringfwd.h:63: syntax error before `;' token
>/usr/include/c++/3.2/bits/stringfwd.h:64: syntax error before `;' token
>In file included from /usr/include/c++/3.2/cstddef:48,
>            
>     from /usr/include/c++/3.2/cstdio:50,
>            
>     from /usr/include/c++/3.2/i386-redhat-linux/bits/c++io.h:35,
>            
>     from /usr/include/c++/3.2/bits/fpos.h:44,
>            
>     from /usr/include/c++/3.2/iosfwd:46,
>            
>     from /usr/include/c++/3.2/ios:44,
>            
>     from /usr/include/c++/3.2/ostream:45,
>            
>     from /usr/include/c++/3.2/iostream:45,
>            
>     from /usr/include/c++/3.2/backward/iostream.h:32,
>            
>     from la.cpp:1:
>/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h:147: template
>   declaration of `typedef int ptrdiff_t'
>/usr/lib/gcc-lib/i386-redhat-linux/3.2/include/stddef.h:147: confused by earlier errors, bailing out
>
>ЧТо делать не знаю :(


Пока тоже не знаю. Я на С пишу, а не С++. Сейчас покопаюсь.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Нужна помощь"
Сообщение от scum Искать по авторуВ закладки on 22-Дек-03, 16:41  (MSK)
>make -k
>make: *** No targets specified and no makefile found. Stop.

Нужно просто создать файл make. Анюта сама такие делает, а если ручками свои проги писать, то придется и их ручками делать. Короче - man make. Или если попроще - конечно в гугл.


>In file included from /usr/include/c++/3.2/backward/iostream.h:31
...
>instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.

Ну и какие тут проблемы? Просто надо добавить ключ -Wno-deprecated при компиляции, и все. Иначе, придется баловаться с пространствами имен, насколько я помню.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Нужна помощь"
Сообщение от asso Искать по авторуВ закладки on 23-Дек-03, 11:08  (MSK)
>Ну и какие тут проблемы? Просто надо добавить ключ -Wno-deprecated при компиляции,
>и все. Иначе, придется баловаться с пространствами имен, насколько я помню.

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

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Нужна помощь"
Сообщение от keydet emailИскать по авторуВ закладки on 23-Дек-03, 18:30  (MSK)
>>Ну и какие тут проблемы? Просто надо добавить ключ -Wno-deprecated при компиляции,
>>и все. Иначе, придется баловаться с пространствами имен, насколько я помню.
>
>Не надо использовать ключь -Wno-depricated, потому что иначе в один прекрасный момент
>с выходом очередной версии компилятора программа может перестать собираться.


вместо gcc использовать g++

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Нужна помощь"
Сообщение от bill Искать по авторуВ закладки on 10-Янв-04, 13:51  (MSK)
>>>Ну и какие тут проблемы? Просто надо добавить ключ -Wno-deprecated при компиляции,
>>>и все. Иначе, придется баловаться с пространствами имен, насколько я помню.
>>
>>Не надо использовать ключь -Wno-depricated, потому что иначе в один прекрасный момент
>>с выходом очередной версии компилятора программа может перестать собираться.
>
>
>вместо gcc использовать g++

Чтобы скомпилялось, нужно указать, что используется стандартная
библиотека из пространства имен std.

Вот так  твой код скомпиляется:


#include <iostream>

using namespace std;

int main () {
cout << "llala";
return 0;

}

Или вот так:

#include <iostream>
int main () {
std::cout << "llala";
return 0;

}

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру