Данил Гребень 14.02.2011 23:46
Есть проблема! — Graph в FreePascal
Привет %username%! Если ты знаком с FreePascal или чего доброго разраб Hedgewars, то прошу уделить мне минуту)По программе у нас в технаре скоро будет работа с графикой в паскале.
Насколько я знаю совместимого с ним модуля в FreePascal не существует.
Заблаговременно решил попробовать разобраться с доступными аналогами, но пока ничего не вышло.
Собственно при подключении модуля Graph,
компилятор ругается
graph.pas(8,1) Fatal: Syntax error, "UNIT" expected but "CONST" found
Решения не нагуглил. Подскажите что не так, и\или скинте рабочий кусок кода исходя из которого я мог бы разобраться дальше.
Спасибо!
UPD1: Дистр Ubuntu 10.10
sagod 14.02.2011 23:55 #
+ 1 -
Вы наверно это ищете.
Мои действия:
1) Скачиваю оба пакета
fpc-units-ptcpas-447-alt2.x86_64.rpm
fpc-units-ptcpas-demos-447-alt2.x86_64.rpm
2) Конвертирую в деб
sudo alien -dc *.rpm
3) Переношу папку ptcpas из /usr/lib64/fpc/units/x86_64-linux в /usr/lib64/fpc/2.4.0/units/x86_64-linux/, где лежат в Ubuntu 10.10 лежат остальные паскалевские либы.
Итог: Не помогло.
Ругается
Это уже какой-никакой прогресс, но все равно не айс)
1) Скачиваю оба пакета
fpc-units-ptcpas-447-alt2.x86_64.rpm
fpc-units-ptcpas-demos-447-alt2.x86_64.rpm
2) Конвертирую в деб
sudo alien -dc *.rpm
3) Переношу папку ptcpas из /usr/lib64/fpc/units/x86_64-linux в /usr/lib64/fpc/2.4.0/units/x86_64-linux/, где лежат в Ubuntu 10.10 лежат остальные паскалевские либы.
Итог: Не помогло.
program wtf;
uses PTCGraph;
begin
end.
Ругается
fpc "graph1.pas" (in directory: /home/wanderer/Dropbox/Programming/Pascal)
Free Pascal Compiler version 2.4.0-2 <2010/03/06> for x86_64
Copyright (c) 1993-2009 by Florian Klaempfl
Target OS: Linux for x86-64
Compiling graph1.pas
PPU Loading /usr/lib/fpc/2.4.0/units/x86_64-linux/ptcpas/ptcgraph.ppu
PPU Invalid Version 117
Fatal: Can't find unit PTCGraph used by wtf
Fatal: Compilation aborted
Compilation failed.
Error: /usr/bin/ppcx64 returned an error exitcode (normal if you did not specify a source file to be compiled)
Free Pascal Compiler version 2.4.0-2 <2010/03/06> for x86_64
Copyright (c) 1993-2009 by Florian Klaempfl
Target OS: Linux for x86-64
Compiling graph1.pas
PPU Loading /usr/lib/fpc/2.4.0/units/x86_64-linux/ptcpas/ptcgraph.ppu
PPU Invalid Version 117
Fatal: Can't find unit PTCGraph used by wtf
Fatal: Compilation aborted
Compilation failed.
Error: /usr/bin/ppcx64 returned an error exitcode (normal if you did not specify a source file to be compiled)
Это уже какой-никакой прогресс, но все равно не айс)
Недолгое щёлканье по ссылкам подсказало, что нужна вот эта библиотека.
Я бы на вашем месте скомпилировал бы её ручками и поставил куда-нибудь в районе /usr/local - хоть и не труъ,зато весело и вкусно
Я бы на вашем месте скомпилировал бы её ручками и поставил куда-нибудь в районе /usr/local - хоть и не труъ,
Это то, с чего я начал, но
Куда копать?
wanderer@POWER:~/Загрузки/ptcpas-0.99.11$ ./configure
Processing Makefile.fpc
Error: Target "linux", package "rtl" not found
wanderer@POWER:~/Загрузки/ptcpas-0.99.11$
Куда копать?
Стоит. Может оно его не может найти по тому что под Альт заточено?
Да, и встречный к вам вопрос: зачем вы используете слово "program" в начале программы? Неужели для того, чтобы ваша программа имела имя? :)
Приведённый пример кода на 2.4.0 FP собирается и работает.
Правда запустилось только с sudo, ну да эту проблему решать не пытался :)
$fpc test.pas
Free Pascal Compiler version 2.4.0-2 <2010/02/20> for i386
Copyright (c) 1993-2009 by Florian Klaempfl
Target OS: Linux for i386
Compiling test.pas
Linking test
/usr/bin/ld: warning: link.res contains output sections; did you forget -T?
3 lines compiled, 2.1 sec
Free Pascal Compiler version 2.4.0-2 <2010/02/20> for i386
Copyright (c) 1993-2009 by Florian Klaempfl
Target OS: Linux for i386
Compiling test.pas
Linking test
/usr/bin/ld: warning: link.res contains output sections; did you forget -T?
3 lines compiled, 2.1 sec
Правда запустилось только с sudo, ну да эту проблему решать не пытался :)
А какой у вас дистр? Часом не альт? Судя из вышесказанного там об этом позаботились.
Точно не помню, но вроде проблема решалась так: нужно отредактировать файл FPC_install_dir/units/i386-linux/graph/Package.fpc и прописать там использование sdlgraph. Возможно, вместо этого нужно было удалить файлы graph.* в этой же директории и переименовать sdlgraph.* в graph.*.