Как запустить программу, написанную для старого компилятора?

Я ищу реализацию гибридного дерева (не важно) и нахожу "старую" здесь .

Автор сказал, что они пробовали этот код на платформе SUN Sparc (работающей под Solaris 2.6 ) и с компилятором gcc-2.8.1 . Моя среда - gcc версии 4.4.3 ( Ubuntu 10.10 ).

Проблема в следующем: Я запускаю "make" с 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

Я знаю, что мне нужно изменить исходный код, чтобы он согласовался с компилятором morden, например change vector .h в вектор . Но я считаю, что это просто бесконечно.

Итак, мой вопрос: есть ли какой-нибудь удобный метод для запуска этой программы, независимо от того, автоматически ли этот код конвертируется в "современный стиль" или с использованием автономного компилятора "старого стиля"?

Есть предложения?

=== Обновление: ===

Всем спасибо, я установил gcc2.8.1 в другой каталог, используя - prefix = / usr / local / gcc-2.8. 1 и измените «make-файл», чтобы использовать эту старую версию gcc ( /usr/local/gcc-2.8.1/bin/gcc ). Но когда я запускаю "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

Затем я попытался найти эти заголовки в /usr/local/gcc-2.8.1, используя find / usr / local / gcc-2.8.1 -name "* vector *" , но ничего не получил.

Так где же эти головы для старой версии gcc?

7
задан teloon 30 December 2011 в 05:24
поделиться