Страница 1 из 1

Подскажите в чём проблема....

СообщениеДобавлено: 02.08.2010 17:05:09
Otto
Написал программу на Free Pascal в Linux OpenSUSE 11.3 которая должна отобразить окно с рисунком. На Windows XP запускаю на Free Pascal, работает. А в Линуксе пишет ошибку постоянно - [ GetMax.pas(25,1) Error: Can't create object file: /home/otto/TP_7/GetMax.o ]. Кинул в папку и настройки (graph.o; graph.ppu), всё равно ошибку выдаёт. Вот сама программа:

Код: Выделить всё
Program GetMax;
Uses
Crt,
Graph; {Podkly4enie modulya biblioteke grafi4eskix procedur}
var
GraphDriver, {peremennaya, opredelyayhyaa tip driver}
GraphMode {peremennaya, zadauhya re)/(im raboti graf driver}
:integer;

Begin
ClrScr;
GraphDriver := detect; {avtoopredelenie tipa drivera}
InitGraph (GraphDriver, GraphMode, ''); {Inicializaciya graf re)/(ima}

writeLn('x=',GetMaxX(),'y=',GetMaxY());
PutPixel(10,10,red);

SetColor(4);
Line(10,10,150,150);
{s etogo momenta vse graf sredstva dostupni programmistu}
{telo programmi}

ReadLn;
CloseGraph; {zakritie graf re)/(ima}
End.



Подскажите что делать, программа должна создать окно с рисунком, и второе окно текстовое с разрешение экрана.

Re: Подскажите в чём проблема....

СообщениеДобавлено: 02.08.2010 18:48:43
Odyssey
Ошибка "Can't create object file" скорее всего связана не с кодом программы, а с доступом к файловой системе.
1) Проверьте, существует ли файл /home/otto/TP_7/GetMax.o, если да -- удалите его
2) Проверьте ваши права доступа к директории /home/otto/TP_7/
3) Проверьте, не использует ли какая-нибудь другая программа этот файл (радикальный способ -- перезагрузитесь, после чего откройте FPC IDE или Lazarus IDE, в IDE откройте файл GetMax.pas и попробуйте его скомпилировать)
4) Если работаете в Lazarus IDE -- попробуйте отключить отладчик.

Re: Подскажите в чём проблема....

СообщениеДобавлено: 02.08.2010 20:10:40
Otto
А как сделать права доступа? Пробовал и из по root заходить. Не помогает не чего. Всё равно ошибку выдаёт. Разтолкуйте как что делать......

Пробовал делать как в этих пунктах выше, не помогло.

Re: Подскажите в чём проблема....

СообщениеДобавлено: 02.08.2010 20:15:12
VirtUX
Otto писал(а):А как сделать права доступа?

под root'ом:
Код: Выделить всё
chmod -R 777 /home/otto/TP_7

Re: Подскажите в чём проблема....

СообщениеДобавлено: 02.08.2010 22:58:29
Otto
Пробовал по разному. Суть проблемы скорее всего с графикой..... Выдаёт ошибку постоянно:

/usr/bin/ld: cannot find -lvga.
- при попытки компелирования в среде программирования Geany.



В Fpee Pascal выдаёт ошибку:

GetMax.pas(25,1) Error: Can't create object file: /home/otto/TP_7/GetMax.o

Пробовал разные методы, но всё счетно. Может кто знает как исправить ошибку. Посоветовали на ваш сайт зайти попросить помощи..... )))

Re: Подскажите в чём проблема....

СообщениеДобавлено: 03.08.2010 01:54:50
Иван Шихалев
Не установлена библиотека libvga.

Re: Подскажите в чём проблема....

СообщениеДобавлено: 03.08.2010 10:39:35
Otto
Нашёл и скачал библиотеку aalib-1.4.0-483.1.i586.rpm, именно libvga не нашёл где скачать. Это та библиотека?

Потому, что не помогло :(

Re: Подскажите в чём проблема....

СообщениеДобавлено: 03.08.2010 17:27:49
Padre_Mortius
Иван Шихалев писал(а):Не установлена библиотека libvga.

Я бы все-таки сказал, что не найден файл libvga.so
Для начала стоит сделать поиск на компьютере в поисках библиотеки libvga.so.x.x.x (где x - может быть любым числом). Поиск осуществляется при помощи команды locate. В данном случае
Код: Выделить всё
locate libvga

Перед выполнением поиска желательно выполнить updatedb от имени пользователя root. Если locate нашел файл libvga.so.x.x.x.x, то нужно сделать символическую ссылку
Код: Выделить всё
ln -s {директория файла libvga.so.x.x.x}/libvga.so.x.x.x {директория файла libvga.so.x.x.x}/libvga.so

Если locate ничего не нашел, то ищем пакет в поисковике

Добавлено спустя 3 минуты 42 секунды:
Или сразу искать devel-пакет

P.S. исправился

Re: Подскажите в чём проблема....

СообщениеДобавлено: 05.08.2010 21:59:50
Otto
Не помогает блин :(

Re: Подскажите в чём проблема....

СообщениеДобавлено: 06.08.2010 11:08:55
v-t-l
Padre_Mortius писал(а):Я бы все-таки сказал, что не найден файл libsvga.so
Для начала стоит сделать поиск на компьютере в поисках библиотеки libsvga.so.x.x.x (где x - может быть любым числом). Поиск осуществляется при помощи команды locate. В данном случае

Код: Выделить всё
locate libsvga

только не libsvga, а libvga.
2 Otto - возможно поэтому и "не помогает" :D

Re: Подскажите в чём проблема....

СообщениеДобавлено: 06.08.2010 11:48:43
Padre_Mortius
v-t-l
опечатался) главное смысл понять, а не тупое перебивание буковок

Re: Подскажите в чём проблема....

СообщениеДобавлено: 07.08.2010 18:02:43
Otto
Да блин, не работает эта команда. Постоянно выдаёт:


linux-tntr:/home/otto # locate libvga
If 'locate' is not a typo you can use command-not-found to lookup the package that contains it, like this:
cnf locate



и всё! Поэтому не получается.

Re: Подскажите в чём проблема....

СообщениеДобавлено: 10.08.2010 12:09:02
Kitayets
у тебя locate не установлена :)

попробуй так:

find / -name 'libvga.so*'