Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Библиотека 2D графики g2  (Прочитано 1536 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Eugene1991

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Библиотека 2D графики g2
« : 07 Марта 2010, 14:07:43 »
Доброго времени суток,
В университете задали нарисовать поверхность используя BGI, прочел на вашем форуме, что для этих целей вполне подойдет и g2 его синтаксис очень похож и т.п. Однако возникли проблемы при установки, делал все по инструкции в консоле и даже все завершилось успешно, Но при попытке собрки и Сишный и Cppшный комплияторый ругаются, что мол ссылка к неопределенной библиотеке
gcc -Wall -o "example" "example.c" (в каталоге: /home/eugene/C/Graphics)
Сборка завершилась с ошибкой.
/tmp/ccUaFUoU.o: In function `main':
example.c:(.text+0x21): undefined reference to `g2_open_PS'
example.c:(.text+0x59): undefined reference to `g2_rectangle'
example.c:(.text+0x65): undefined reference to `g2_close'
collect2: ld returned 1 exit status
Сама программа- пример из мануала:
#include <g2.h>
#include <g2_PS.h>
#include <stdio.h>
int main()
{
    int id;
    id = g2_open_PS("rect.ps", g2_A4, g2_PS_land);
    g2_rectangle(id, 20, 20, 150, 150);
    g2_close(id);
return 0;
}
У кого есть опыт работы с сей библиотекой пожалуйста отзовитесь.

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: Библиотека 2D графики g2
« Ответ #1 : 07 Марта 2010, 16:01:29 »
В командах компилятору не указано, что программу надо линковать с библиотекой g2.
Подозреваю, что нужен ключ -lg2

Помимо g2 еще есть реализация BGI на SDL.
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн Eugene1991

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Библиотека 2D графики g2
« Ответ #2 : 08 Марта 2010, 00:30:41 »
Что-то не получаются :( :
eugene@eugene-laptop:~/C/Graphics$ gcc -lg2 -c example.c
eugene@eugene-laptop:~/C/Graphics$ gcc -lg2 example.o -o resuslt
example.o: In function `main':
example.c:(.text+0x21): undefined reference to `g2_open_PS'
example.c:(.text+0x59): undefined reference to `g2_rectangle'
example.c:(.text+0x65): undefined reference to `g2_close'
collect2: ld returned 1 exit status
eugene@eugene-laptop:~/C/Graphics$
Сам я в линуксе ,мягко сказать не силен, может что-то неправильно делаю?

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: Библиотека 2D графики g2
« Ответ #3 : 09 Марта 2010, 11:16:13 »
Если ставили из репозиториев, все должно работать.
Только что скомпилировал этот пример.

$ sudo aptitude install libg2-dev libgd2-xpm-dev
[ .... пропускаем много букв, все успешно скачалось и установилось ]
$ vi g2_ex.c
[ вбиваем текст ]
$  gcc -lg2 g2_ex.c -lX11 -lgd
$ ./a.out
В итоге имеем файл rect.ps с прямоугольником в левом нижнем углу.

Его содержимое под спойлером (лень мне как-то еще извращаться)
(Нажмите, чтобы показать/скрыть)

Файл g2_ex.c:
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 09 Марта 2010, 11:19:13 от wl »
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

 

Страница сгенерирована за 0.046 секунд. Запросов: 25.