Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование в *nix (http://forum.oszone.net/forumdisplay.php?f=35)
-   -   проблемы с компиляцией (g++) (http://forum.oszone.net/showthread.php?t=58703)

DaDa 28-12-2005 16:52 387567

проблемы с компиляцией (g++)
 
Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.4.2 [FreeBSD] 20040728

есть такая вот программка:

#include <iostream.h>
#include <ctype.h>
using namespace std;

int main()
{
int ch, lineno=0, charno=0, wordno=0;
for (int last=0; cin && (ch = cin.get()) != EOF; last=ch)
switch (ch)
{
case '\n': lineno++; wordno++;
break;
case '/': if (cin.peek()=='/') {
cin.ignore(10000,'\n');
lineno++;
}
else charno++;
break;
default: charno++;
if (isspase(ch) && last!=ch) wordno++;
}
cout << charno << " " << wordno << " " << lineno << "\n" << flush;
return 0;
}


при её компиляции
# g++ -Wno-deprecated -o mywc mywc.c

выдаётся вот такая ошибка:

mywc.c: In function `int main()':
mywc.c:20: error: `isspase' undeclared (first use this function)
mywc.c:20: error: (Each undeclared identifier is reported only once for each function it appears in.)


хотя
# locate ctype.h
/usr/include/_ctype.h
/usr/include/ctype.h
/usr/include/sys/ctype.h
/usr/include/wctype.h
/usr/ports/shells/v7sh/files/patch-ctype.h
/usr/src/sys/sys/ctype.h

Не подскажите в чем может быть проблема?

McVlad 28-12-2005 17:30 387575

Может isspace, а не isspase ????

Admiral 14-01-2007 02:15 535696

Проблемы Собственно проблема с установкой самого компилятора.
GCC причём с версиями 4.1.1, 4.0.0 и вот только что закончилось исполнение команды уже для версии 3.4.6
Код:

#make CFLAGS='-O' LIBCFLAFG='-O2' LIBCXXFLAGS='-O2 -fno-implicit-templates' bootstrap
Ошибки следующие
Цитата:

Цитата bash shell
make[2]: *** [libbackend.a] Error 1
make[2]: Leaving directory '/home/doc/gcc-3.4.6/obj/gcc'
make[1]: *** [stage1_build] Error 2
make[1]: Leaving directory '/hone/doc/gcc-3.4.6/obj/gcc'
make: *** [bootstrap] Error 2

Текущая версия gсс version egcs-2.90.29 980515 (ercs-1.0.3 release)
Дистрибутив KSI Linux Nostromo 1999

P.S.
Возможно ли установить gcc где нет компиляторов?
При установки набирал следующие команды
Код:

#tar zxvf gcc-3.4.6.tar.gz
#mkdir obj
#cd obj
#../configure --prefix=/usr/local/gcc --program-suffix=-3.4.6 --enable-languages=c,c++,java,objc
#make CFLAGS='-O' LIBCFLAFG='-O2' LIBCXXFLAGS='-O2 -fno-implicit-templates' bootstrap
#make install

естественно что смысл в make install исчез после ошибок на предыдущей команде.

Подозреваю, что надо ближайшую к текущей, версии компилятор.
Поправьте меня, если я не прав.

Admiral 09-03-2007 00:36 559376

Цитата:

надо ближайшую к текущей, версии компилятор.
Таки так и есть.
С начала поставил 2.95.
А теперь 2.95 собираю 3.4.6
Вопрос: а как в обще утсанавливалось всё с самого начала? Не уж то собиралось ассемблером?

UPDATE (09.03.07)
Наверное, не судьба на дистрибутив KSI Linux Nostromo 1999
поставить что-то новее 3 версии (не включительно).
Код:

In file included from /usr/include/sys/select.h:31
                from /usr/include/sys/types.h:126
                from /../../gcc/tsystem.h:81
                from /../../gcc/crtstuff.c:62
./include/selectbits.h:15:58: token "\" is not valid in preprocessor expressions
make[2]: *** [crtbegin.o] Error 1
make[2]: Leaving directory  '/add/gcc-3.4.6/obj/gcc'
make[1]: *** [stage1_build] Error 2
make[1]: Leaving directory '/add/gcc-3.4.6/obj/gcc'
make: *** [bootstrap] Error 2

Продвижение с постом за 14-01-2007 в том, что ошибка №1 уже другая.

Envel 31-03-2007 15:53 568973

Уважаемый Admiral, возьмите бинарный пакет для своего дистрибутива.

Admiral 03-04-2007 00:34 569675

Envel
Так и сделал.
Жал что "конструктор" Linux не заладился.

Ещё проще, достать современный дистрибутив и работать с ним.

P.S.
А как на первых машинах без компилятора ставили их, не уж-то ассемблером?


Время: 10:52.

Время: 10:52.
© OSzone.net 2001-