nachos 설치중...ㅠ.ㅠ
크로스 컴파일러 까지 다 설치하고
make depend 까지 하고.
마지막에
make 하니까 이렇게 오류가 뜨네요.
고수님들 알려주세요...ㅠ.ㅠ
---------------------------
[root@localhost threads]# make depend
g++ -I../lib -I../threads -I../machine -DTHREADS -Dx86 -DLINUX -DCHANGED -M ../lib/bitmap.cc ../lib/debug.cc ../lib/hash.cc ../lib/libtest.cc ../lib/list.cc ../lib/sysdep.cc ../machine/interrupt.cc ../machine/stats.cc ../machine/timer.cc ../threads/alarm.cc ../threads/kernel.cc ../threads/main.cc ../threads/scheduler.cc ../threads/synch.cc ../threads/synchlist.cc ../threads/thread.cc ../machine/elevatortest.cc ../machine/elevator.cc > makedep
echo '/^# DO NOT DELETE THIS LINE/+2,$d' >eddep
echo '$r makedep' >>eddep
echo 'w' >>eddep
echo 'q' >>eddep
ed - Makefile < eddep
rm eddep makedep
echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
echo '# see make depend above' >> Makefile
[root@localhost threads]# make
g++ -g -Wall -fwritable-strings -I../lib -I../threads -I../machine -DTHREADS -Dx86 -DLINUX -DCHANGED -c ../lib/libtest.cc
In file included from ../lib/libtest.cc:10:
../lib/libtest.h:15:8: warning: extra tokens at end of #endif directive
../lib/libtest.h:15:14: warning: no newline at end of file
In file included from ../lib/bitmap.h:19,
from ../lib/libtest.cc:11:
../lib/utility.h:38:8: warning: extra tokens at end of #endif directive
In file included from /usr/include/c++/3.3.2/backward/iostream.h:31,
from ../lib/sysdep.h:15,
from ../lib/debug.h:18,
from ../lib/list.h:17,
from ../lib/libtest.cc:12:
/usr/include/c++/3.3.2/backward/backward_warning.h:32:2: warning: #warning This file 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 include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
In file included from ../lib/list.h:17,
from ../lib/libtest.cc:12:
../lib/debug.h:85:8: warning: extra tokens at end of #endif directive
In file included from ../lib/libtest.cc:12:
../lib/list.h:76: error: ISO C++ forbids declaration of `ListIterator' with no
type
../lib/list.h:76: error: template-id `ListIterator<T>' used as a declarator
../lib/list.h:76: error: `ListIterator' is neither function nor member
function; cannot be declared friend
In file included from ../lib/list.h:137,
from ../lib/libtest.cc:12:
../lib/list.cc: In member function `void List<T>::SelfTest(T*, int)':
../lib/list.cc:299: error: syntax error before `>' token
In file included from ../lib/libtest.cc:13:
../lib/hash.h: At global scope:
../lib/hash.h:88: error: ISO C++ forbids declaration of `HashIterator' with no
type
../lib/hash.h:88: error: template-id `HashIterator<Key, T>' used as a
declarator
../lib/hash.h:88: error: `HashIterator' is neither function nor member
function; cannot be declared friend
In file included from ../lib/hash.h:118,
from ../lib/libtest.cc:13:
../lib/hash.cc: In member function `void HashTable<Key, T>::SelfTest(T*, int)':
../lib/hash.cc:300: error: syntax error before `,' token
../lib/list.cc: In member function `void List<T>::SelfTest(T*, int) [with T =
int]':
../lib/libtest.cc:77: instantiated from here
../lib/list.cc:304: error: `iterator' undeclared (first use this function)
../lib/list.cc:304: error: (Each undeclared identifier is reported only once
for each function it appears in.)
../lib/list.h: In constructor `ListIterator<T>::ListIterator(List<T>*) [with T
= char*]':
../lib/hash.cc:280: instantiated from `void HashTable<Key, T>::SanityCheck() const [with Key = int, T = char*]'
../lib/hash.cc:302: instantiated from `void HashTable<Key, T>::SelfTest(T*, int) [with Key = int, T = char*]'
../lib/libtest.cc:79: instantiated from here
../lib/list.h:72: error: `ListElement<char*>*List<char*>::first' is protected
../lib/list.h:121: error: within this context
make: *** [libtest.o] 오류 1
[root@localhost threads]#
에러 내용을 보니 소스가 꽤 오래 전에 만들어진 것 같군요. 표준 C++
에러 내용을 보니 소스가 꽤 오래 전에 만들어진 것 같군요. 표준 C++ 코드가 아닙니다.
이거 최신 버전인가요? 그렇다면 소스를 고치는 수밖에 없겠는데요.
댓글 달기