하이브리드 트리 구현 (중요하지 않음)을 찾고 있는데 "이전"하나를 찾습니다 here. 이전 컴파일러로 작성된 프로그램을 실행하는 방법은 무엇입니까?
저자
은하고 GCC-2.8.1 컴파일러 ( 솔라리스 2.6를 실행)에 SUN SPARC 플랫폼에이 코드를 시도했다. 그리고 내 환경은 gcc 버전 4.4.3 ( 우분투 10.10)입니다. 나는 그가 제공하는 메이크와 "make"를 실행 하지만, 다음과 같이 나에게 오류 메시지를 많이 제공 :문제는
g++ -c Node.C
g++ -c DataNode.C
In file included from DataNode.h:18,
from DataNode.C:17:
Query.h:9:20: error: vector.h: No such file or directory
Query.h:10:19: error: stack.h: No such file or directory
Query.h:13:22: error: function.h: No such file or directory
Query.h:14:22: error: iostream.h: No such file or directory
DataNode.C:283:8: warning: extra tokens at end of #endif directive
In file included from DataNode.h:18,
from DataNode.C:17:
Query.h:29: warning: ‘typedef’ was ignored in this declaration
Query.h:44: warning: ‘typedef’ was ignored in this declaration
Query.h:86: error: expected initializer before ‘<’ token
Query.h:118: error: ISO C++ forbids declaration of ‘PQ’ with no type
Query.h:118: error: expected ‘;’ before ‘*’ token
Query.h:122: error: ISO C++ forbids declaration of ‘PQ’ with no type
Query.h:122: error: expected ‘;’ before ‘*’ token
Query.h:126: error: ISO C++ forbids declaration of ‘PQ’ with no type
Query.h:126: error: expected ‘;’ before ‘*’ token
Query.h:135: error: expected initializer before ‘<’ token
DataNode.C: In member function ‘void DataNode::DisconnectBranch(int)’:
DataNode.C:80: error: ‘memmove’ was not declared in this scope
make: *** [DataNode.o] Error 1
나는 내가 souce에 코드를 수정해야 알 수 있도록 변경 vector.h
~ vector
과 같은 morden 컴파일러에 동의합니다. 그러나 나는 그것이 끝이 없다는 것을 안다.
내 질문은 :이 코드를 "현대식"으로 자동 변환하거나 독립형 "구식"컴파일러를 사용하여이 프로그램을 실행하는 데 편리한 방법이 있습니까?
제안 사항?
=== 업데이트 :
이 여러분 모두 감사합니다 ===, 나는이 오래된 버전의 GCC (/usr/local/gcc-2.8.1/bin/gcc
)를 사용하는
--prefix=/usr/local/gcc-2.8.1
을 사용하고는 "메이크"수정 다른 디렉토리에 gcc2.8.1를 설치했습니다. 나는 "make"를 실행하면, 그것은 여전히 나에게 헤더를 찾을 수 없다는 오류를 제공합니다
/usr/local/gcc-2.8.1/bin/gcc -c DataNode.C
In file included from DataNode.h:18,
from DataNode.C:17:
Query.h:9: vector.h: No such file or directory
Query.h:10: stack.h: No such file or directory
Query.h:11: deque: No such file or directory
Query.h:12: algorithm: No such file or directory
Query.h:13: function.h: No such file or directory
Query.h:14: iostream.h: No such file or directory
make: *** [DataNode.o] Error 1
다음
내가 find /usr/local/gcc-2.8.1 -name "*vector*"
를 사용 /usr/local/gcc-2.8.1에서이 머리를 찾기 위해 노력했지만 아무것도 없어 .
그렇다면 구 버전 gcc의 헤드는 어디에 있습니까?
그는 특히 헤더의 이름을 바꾸는 것 이외의 해결책을 요구했습니다. –
게다가, 헤더의 이름을 바꾸는 것은 그것의 끝 부분조차도 아니다. 그 경로를 가면 네임 스페이스에 대해서도 걱정해야한다. 예를 들어''은'std'에 모든 것을 넣는다. 반면에 ''는 그렇지 않다. –
cHao