Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
2 / 2 / 0
Регистрация: 08.05.2012
Сообщений: 18
1

Подключение SDL_draw.h

26.09.2015, 21:17. Показов 2450. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуй All!

Возникла у меня проблема с подключением библиотеки SDL_draw при написании программ на Си под Linux.
Перерыл в интернете всё что только можно и не нашёл описания как решить эту проблему. Поэтому прошу помощи и вразумления.


Использую на нескольких компьютерах Linux Mint Cinnamon 17.2
Для программирования на Си использую редактор vim и компилятор gcc

С SDL я только только пытаюсь разбираться. Для одной конкретной и не сложной задачи мне нужно использовать рисование примитивов точки, линии, окружности. Решил использовать библиотеку SDL_draw.

В репозитории дистрибутива такой библиотеки не было. Я установил до кучи все libsdl* , но это не помогло.

Я нашёл ссылку и скачал исходники с ( sdl-draw . sourceforge . net ) файл SDL_draw-1.2.13.tar.gz

Распаковал

Выполнил по инструкции:
Bash
1
2
3
sudo ./configure
sudo make
sudo make install
В итоге в /usr/local/lib были созданы библиотеки libSDL_draw.a и libSDL_draw.so

Вопрос теперь только в том как подключать эту библиотеку в программе на Си.

Я нашёл в разных источниках разные описания, но не одно из них у меня не привело к работающему коду.

Например:

C
1
2
#include <SDL/SDL.h>
#include <SDL/SDL_draw.h>
При попытке скомпилировать ругается на отсутствие файла SDL_draw.h

У меня возникло подозрение, что проблема просто в том, что где-то в системе не прописан путь к библиотекам.

Все остальные SDL библиотеки, установленные из репозитория, лежат в папке /usr/lib/x86_64-linux-gnu/

А установленные вручную, как я уже написал, в /usr/local/lib

Я пробовал создавать символьные и жёсткие ссылки, размещая их в /usr/lib/x86_64-linux-gnu/
Пробовал просто копировать файлы туда

Нашёл описание в файле /etc/ld.so.conf ссылку на папку с конфигами /etc/ld.so.conf.d/*.conf
Там нашёл файл x86_64-linux-gnu.conf

Его содержимое:
Bash
1
2
3
# Multiarch support
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
Я добавил туда строку: /usr/local/lib

Но не смотря на это даже после перезагрузки ничего не изменилось.

Я добавил файл local.conf, куда вынес последнюю строчку и удалил её из файла x86_64-linux-gnu.conf

Ещё я временно добавлял /usr/local/lib в переменную PATH (на всякий случай, для эксперимента, хотя он там и не должен быть)

Это тоже ничем не помогло.

Как вариант осталось попробовать прописать путь к библиотеке как опцию компилятора, но во-первых я пока ещё плохо себе это представляю, а во-вторых, нужен такой вариант, чтобы работал без дополнительных изменений строки компилирования.

Что же мне ещё сделать?
У меня уже фантазия кончилась

Ещё что-то читал про libtool, но пока как-то стрёмно туда соваться не разобравшись нормально.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.09.2015, 21:17
Ответы с готовыми решениями:

SDL_draw.h no such file or directory
не видит почему-то хедер

Определение осуществлено ли подключение к заданной WI-FI сети и подключение к ней, если не подключена
Добрый день. Суть задачи - в винде хочу что бы программа определяла - подключена ли она (винда)...

Ошибка Selenium: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение
IWebDriver driver; FirefoxDriverService serv =...

Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение 127.0.0.1:11000
Клиент-серверное приложение на tcp/ip Все работало на win xp(порты 11000 и 11001), но на win7...

3
Музыка нас Связала
232 / 232 / 52
Регистрация: 26.03.2008
Сообщений: 616
26.09.2015, 22:33 2
Линкуешь (-lSDL_draw) то саму библиотеку?
0
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
28.09.2015, 11:51 3
Цитата Сообщение от Hemulo Посмотреть сообщение
При попытке скомпилировать ругается на отсутствие файла SDL_draw.h
Так посмотрите, где он. Судя по вашему описанию - в /usr/local/include/SDL.
Ну и добавьте в команной строке вызова компилятора -I/usr/local/include, он ведь (компилятор) - не телепат.
0
0 / 0 / 0
Регистрация: 16.10.2015
Сообщений: 6
16.10.2015, 06:06 4
вот такая же проблема, только не видит SDL.h лежит она в usr/include/SDL
вот подскажите, как добавить, дописать к make ?
т.е. make -I/usr/include/SDL ?
не помоголо, как к gcc дописать я хз не спец в этом, помоите ПЛЗ
и еще вопрос: в описании компиляции написано, что надо установить флаги?
export CC=egcs
export CXX="$CC"
export CFLAGS="-Wall -O2 -m486 -fomit-frame-pointer -pipe"
export CXXFLAGS="$CFLAGS"
а как и куда никак не нарыл))))
в линуксе практически не работал.
и исходники у меня 32 битные а стоит 64 битная убунту 15 можно как-то указать или компилятор и сам поймет?
0
16.10.2015, 06:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2015, 06:06
Помогаю со студенческими работами здесь

Ошибка при работе с БД: Подключение не было закрыто. Подключение открыто
Здравствуйте! Столкнулся с проблемой. Вскакивает ошибка при работе с БД, когда проект запускаю...

Подключение к серверу через удалённое подключение к рабочему столу из интернета
Поставил Windows Server 2016 на машину. запустил. Создал пользователей. Разрешил подключение к...

Подключение по RDP, После активации ключа касперского отвалилось подключение
Подскажите в чем может быть проблема. После активации ключа (продление) касперского (Endpoint 10)...

Подключение к облаку через подключение сетевого диска в проводнике - не работает
Всех приветствую, имеется Windows 7x64 Corporate, хочу подключиться к облакам яндекса и мэйла все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru