FP и рисование в графическом режиме (Linux)

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

FP и рисование в графическом режиме (Linux)

Сообщение lillgrinn » 12.10.2007 11:43:20

Как работать в графическом режиме?

Среда IDE - Geany. При компиляции выходит ошибка:
Код: Выделить всё
/usr/bin/ld: cannot find -lvga


В Linux я новичок, поэтому не знаю как бытьв этой ситуации.
Версия Linux: Xubuntu 7.04
lillgrinn
новенький
 
Сообщения: 17
Зарегистрирован: 12.10.2007 11:14:28

Сообщение Attid » 12.10.2007 12:49:10

попробуй
Код: Выделить всё
apt-cache search vga | grep lib

и ставишь пакеты начинающие на lib и кончающиеся на dev
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение Alexander » 12.10.2007 21:47:05

В Линуксе несколько типов графических библиотек и ещё XOrg.

VGALib, SVGALib, Frame Buffer, ... XOrg стоит особняком но он тоже
по сути библиотека, только продвинутая. Все они обращаются
напрямую к аппаратуре.

Есть ещё надстройки над несколькими такими сразу для унификации,
например SDL. Они не обращаютя напрямую.

Какого рода задачу нужно решить ?
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 697
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Сообщение lillgrinn » 15.10.2007 09:30:47

Надо в рамках школьного курса работать с графикой в Pascal (построение простейших рисунков).
lillgrinn
новенький
 
Сообщения: 17
Зарегистрирован: 12.10.2007 11:14:28

Сообщение bw » 15.10.2007 10:49:50

Рисунков? Наверное графиков? Ну тогда стандартного модуля Graphic хватит. Судя по ошибке, о которой сообщает линковщик, нехватает статической библиотеки libvga.a. Как её установить тебе объяснили. Так же можешь использовать aptitude или synaptic для установки пакетов, если они есть в твоём дистрибутиве.

..bw
Аватара пользователя
bw
постоялец
 
Сообщения: 359
Зарегистрирован: 01.12.2005 11:36:23
Откуда: Усть-Илимск

Сообщение lillgrinn » 15.10.2007 11:42:11

При запуске выходит ошибка:
Код: Выделить всё
svgalib: Cannot get I/O permission.

Это что, под root ее надо запускать что ли?
Программа (взято из примера):
Код: Выделить всё
Program inigraph1;

{ Program to demonstrate static graphics mode selection }

uses graph;


const
  TheLine = 'We are now in 640 x 480 x 256 colors!'+
            ' (press <Return> to continue)';

var
  gd, gm, lo, hi, error,tw,th: integer;
  found: boolean;

begin
  { We want an 8 bit mode }
  gd := D8bit;
  gm := m640x480;
  initgraph(gd,gm,'');
  { Make sure you always check graphresult! }
  error := graphResult;
  if (error <> grOk) Then
    begin
    writeln('640x480x256 is not supported!');
    halt(1)
    end;
  { We are now in 640x480x256 }
  setColor(cyan);
  rectangle(0,0,getmaxx,getmaxy);
  { Write a nice message in the center of the screen }
  setTextStyle(defaultFont,horizDir,1);
  tw:=TextWidth(TheLine);
  th:=TextHeight(TheLine);
  outTextXY((getMaxX - TW) div 2,
            (getMaxY - TH) div 2,TheLine);
  { Wait for return }
  readln;
  { Back to text mode }
  closegraph;
end.
Последний раз редактировалось lillgrinn 15.10.2007 11:49:15, всего редактировалось 1 раз.
lillgrinn
новенький
 
Сообщения: 17
Зарегистрирован: 12.10.2007 11:14:28

Сообщение Alexander » 15.10.2007 11:44:48

Попробуй. Если запустится будем думать о правах.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 697
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Сообщение lillgrinn » 15.10.2007 11:52:17

Alexander писал(а):Попробуй. Если запустится будем думать о правах.

С правами root - заработала, Однако это не выход.
Что же мне, учеников под root в систему пускать?
lillgrinn
новенький
 
Сообщения: 17
Зарегистрирован: 12.10.2007 11:14:28

Сообщение bw » 15.10.2007 11:57:57

Учи их работать в X и/или Gtk+/Qt :-).

..bw
Аватара пользователя
bw
постоялец
 
Сообщения: 359
Зарегистрирован: 01.12.2005 11:36:23
Откуда: Усть-Илимск

Сообщение lillgrinn » 15.10.2007 11:58:03

Наверное переключение в полноэкранный режим требует привелегии root.
Тогда может быть кто-нибудь подскажет другой способ работать с выводом графики? Пусть не в полноэкранном режиме, а в оконном, т.е. перенаправление вывода на новое окно и в нем отображать график функции или какой-нибудь другой рисуно. построенный при помощи линй и т.п.
lillgrinn
новенький
 
Сообщения: 17
Зарегистрирован: 12.10.2007 11:14:28

Сообщение lillgrinn » 15.10.2007 11:59:58

bw писал(а):Учи их работать в X и/или Gtk+/Qt :-).

..bw

А по подробнее можно? Мне собственно надо бы и самому хотя бы разобраться, прежде чем что-то ученикам показывать.
lillgrinn
новенький
 
Сообщения: 17
Зарегистрирован: 12.10.2007 11:14:28

Сообщение bw » 15.10.2007 12:08:58

Набери в google: freepascal x

..bw
Аватара пользователя
bw
постоялец
 
Сообщения: 359
Зарегистрирован: 01.12.2005 11:36:23
Откуда: Усть-Илимск

Сообщение Attid » 15.10.2007 12:23:33

lillgrinn
лучше ну бубунту форум или иркканал вылезь, тебе скажут куда копать, может где права сильно урезал.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение noch » 16.10.2007 16:27:53

не хочу расстраивать, попробуйте покопаться, но
"Detailed answer: SVGAlib accesses the video card directly. In order to
access a piece of hardware directly, you must be root, or else setuid
root"
я вижу такой выход - портировать wingraph на linux или где ни-будь найти модуль подобный graph-у для linux-a.
Потому что canvas использовать не актуально для детей.
Хотя задачка сложная, сам не знаю что делать - может судо покрутить?
Аватара пользователя
noch
постоялец
 
Сообщения: 145
Зарегистрирован: 07.06.2005 09:45:49
Откуда: Armenia

Сообщение Alexander » 18.10.2007 20:15:13

lillgrinn писал(а): Пусть не в полноэкранном режиме, а в оконном, т.е.


То есть? Иксы запускать в принцепе можно ? Тогда вообще не вопрос.

А без них наверное нужно сделать клиент-серверную штуку.
Чтобы построение в виде команд (или графики) отсылалось
на сервер-демон. Им может быть и какой нибудь вьювер графики
(посмотри в менеджере пакетов) сьюднутый по руту.

Да, блин, загвоздка с рутом получается.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 697
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

След.

Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

Рейтинг@Mail.ru