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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Проблема при сборке программы  (Прочитано 858 раз)

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

Оффлайн Pit Sullivan

  • Автор темы
  • Любитель
  • *
  • Сообщений: 64
    • Просмотр профиля
Проблема при сборке программы
« : 10 Апрель 2015, 22:59:24 »
Добрый вечер. На днях решил "поиграться" с библиотекой Magick++ пакета ImageMagick - скачал, сконфигурировал, установил, запустил встроенные тесты, в общем, всё прошло гладко. Но как только я пытаюсь собрать собственную тестовую программу, компилятор и линкер начинают засыпать меня различными сообщениями об ошибках. В частности, компилятор не может отыскать заголовочный файл Magick++.h, а линкер не может отыскать определения используемых мною функций из этой библиотеки. Заголовочные файлы находятся в директории /usr/local/include/ImageMagick-6. Библиотечные файлы (.a и .so) - в /usr/local/lib. При компиляции я использовал следующие команды:
g++ -Busr/local/include -IImageMagick-6 -c file_name.cpp
g++ file_name.o -Busr/local/lib -llibMagick++-6.Q16 -o output
А вот и результат:
file_name.cpp:1:22: fatal error: Magick++.h: Нет такого файла или каталога
 #include <Magick++.h>

/usr/bin/ld: cannot find -llibMagick++-6.Q16
collect2: error: ld returned 1 exit status
Я пробовал ещё несколько разных вариантов, но результат оставался тем же. Помогите пожалуйста разобраться, в чем же дело.

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 2201
    • Просмотр профиля
Re: Проблема при сборке программы
« Ответ #1 : 10 Апрель 2015, 23:42:38 »
Во-первых, нет '/' перед usr,
во-вторых, надо установить libmagick++6.q16-dev,
в-третьих, установить dev-пакет с Magick++.h.
Я сейчас в Debian testing, там три таких пакета:
libmagick++-6-headers, libgraphicksmagick++1-dev и graphicsmagick-libmagick-deb-compat.
Попробуйте начать с 1-го.
Пётр.

| toZen |

  • Гость
Re: Проблема при сборке программы
« Ответ #2 : 10 Апрель 2015, 23:45:45 »
Peter_I, как Jessie?

Оффлайн Pit Sullivan

  • Автор темы
  • Любитель
  • *
  • Сообщений: 64
    • Просмотр профиля
Re: Проблема при сборке программы
« Ответ #3 : 10 Апрель 2015, 23:55:16 »
Во-первых, нет '/' перед usr,
во-вторых, надо установить libmagick++6.q16-dev,
в-третьих, установить dev-пакет с Magick++.h.
Я сейчас в Debian testing, там три таких пакета:
libmagick++-6-headers, libgraphicksmagick++1-dev и graphicsmagick-libmagick-deb-compat.
Попробуйте начать с 1-го.
А для чего нужны эти пакеты и где их можно найти?
UPD: удалось собрать при помощи Mgick++-config следующим образом:
g++ `Magick++-config --cxxflags` -c file_name.cpp
g++ file_name.o `Magick++-config --ldflags --libs` -o output
Запускаю и получаю следующую ошибку:
./output: error while loading shared libraries: libMagick++-6.Q16.so.6: cannot open shared object file: No such file or directory

Оффлайн v!tax

  • Старожил
  • *
  • Сообщений: 4157
  • Gentoo x64 bspwm
    • Просмотр профиля
Re: Проблема при сборке программы
« Ответ #4 : 11 Апрель 2015, 00:04:13 »
Цитировать
А для чего нужны эти пакеты и где их можно найти?
видимо для сборки?не?в apt-get install их можно найти
господь ведет твою руку, сын мой....

Оффлайн Pit Sullivan

  • Автор темы
  • Любитель
  • *
  • Сообщений: 64
    • Просмотр профиля
Re: Проблема при сборке программы
« Ответ #5 : 11 Апрель 2015, 00:17:15 »
Цитировать
А для чего нужны эти пакеты и где их можно найти?
видимо для сборки?не?в apt-get install их можно найти
В apt-get install их нет:
E: Не удалось найти пакет libmagick++-6.q16-dev
E: Не удалось найти пакет по регулярному выражению «libmagick++-6.q16-dev»

E: Не удалось найти пакет libmagick++-6-headers
E: Не удалось найти пакет по регулярному выражению «libmagick++-6-headers»

Для сборки? Разве у меня уже не установлены все необходимые пакеты?

UPD: добавил путь к библиотекам в переменную окружения LD_LIBRARY_PATH, и программа наконец заработала. Наверное, на этом можно закончить. Спасибо всем, кто принял участие в обсуждении!
« Последнее редактирование: 11 Апрель 2015, 00:23:51 от Pit Sullivan »

Оффлайн v!tax

  • Старожил
  • *
  • Сообщений: 4157
  • Gentoo x64 bspwm
    • Просмотр профиля
Re: Проблема при сборке программы
« Ответ #6 : 11 Апрель 2015, 00:22:56 »
вангую,что они называются не так как ты их пишешь
этот пакет что ты пытался поставить для vivid
господь ведет твою руку, сын мой....

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 2201
    • Просмотр профиля
Re: Проблема при сборке программы
« Ответ #7 : 11 Апрель 2015, 11:54:26 »
Да, Debian testing - это Jessie.
В нём пакеты могут называться иначе, чем в Ubuntu,
хотя большинство названий совпадает. На
http://ru.archive.ubuntu.com/ubuntu/
и там в dists/trusty/ есть файл Contents-amd64.gz со списком всех файлов,
там есть и Magick++.h с указанием пакета. libgraphicsmagick++1-dev.
Пётр.

 

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