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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не компилируется SDL_Image, IMG_Load, Не могу скомпилировать SDL_Image 
V
    Опции темы
cia
Дата 18.1.2007, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 15.1.2007

Репутация: нет
Всего: 4



Приветствую всех.
Подскажите, пожалуйста.

При компиляции DevCpp выдает:
 undefined reference to `IMG_Load'
Где в SDL эта функция? Проверил все .h-файлы. В SDL_Image.h объявлена как extern.
Либы тоже вроде бы проверил. Сначала вообще кучу чего не находил, добавил параметры
-lmingw32 -lSDLmain -lSDL -lwinmm -ldxguid -llibSDL прошло.

Компилирую, как уже сказал в DevCpp, windows.

Спасибо за ваши отзывы.
PM WWW ICQ   Вверх
cia
Дата 19.1.2007, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 15.1.2007

Репутация: нет
Всего: 4



Таки никто не подскажет?
Второй день никак не разберусь.
Суть сводится к тому, чтобы просто уменьшить рисунок в размерах (для интернета). Может кто подскажет альтернативный путь? С другими библиотеками? А то я уже запарился.
Прошу помочь.
PM WWW ICQ   Вверх
Alexey_2007
Дата 19.1.2007, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 30.12.2006

Репутация: 1
Всего: 1



По моему легче самому сжать картинку....
способов очень много.

Самый тупой - (сжатие в К раз по Х и по У) - брать среднее арифметическое от цветов пикселей квадрата К*К

Это сообщение отредактировал(а) Alexey_2007 - 19.1.2007, 15:21
--------------------
Святая простота
PM MAIL   Вверх
zkv
Дата 19.1.2007, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 26
Всего: 92



Цитата(Alexey_2007 @  19.1.2007,  15:21 Найти цитируемый пост)
Самый тупой

а какие более умные способы существуют, если не секрет?
PM MAIL   Вверх
cia
Дата 19.1.2007, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 15.1.2007

Репутация: нет
Всего: 4



Поддерживаю вопрос zkv.
Я, конечно, согласен, что можно и самому, но тут нужно еще распознавать форматы gif и jpeg кроме bmp как минимум
PM WWW ICQ   Вверх
zkv
Дата 19.1.2007, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 26
Всего: 92



cia, не знаю ничего про DevCpp, но задача твоя вполне решаема средствами GDI+
PM MAIL   Вверх
cia
Дата 19.1.2007, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 15.1.2007

Репутация: нет
Всего: 4



Цитата(zkv @ 19.1.2007,  17:06)
cia, не знаю ничего про DevCpp, но задача твоя вполне решаема средствами GDI+

Это возможно. Я совсем недавно начал изучать С++, поэтому подскажи с чего начинать, пусть GDI. Очень бы не помешал примерчик, или ссылка. Но касательно DevCpp... пожалуй с ним надо бросать  smile  и переходить на что-нить более серьезное... хотябы для того, чтобы не приходилось искать по инету каждую понадобившуюся библиотеку  smile 
PM WWW ICQ   Вверх
zkv
Дата 19.1.2007, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 26
Всего: 92



ну вот для знакомства:
http://www.rsdn.ru/article/gdi/gdiplus1.xml
http://www.rsdn.ru/article/gdi/gdiplus2mag.xml
повторюсь, понятия не имею как ее юзать в контексте DevCpp smile
PM MAIL   Вверх
cia
Дата 19.1.2007, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 15.1.2007

Репутация: нет
Всего: 4



zkv, спасибо. Обязательно посмотрю.
Полазил по буржуйским сайтам и SDL все же работать заставил.
Я в умате. Вот решение:

В файле SDL_main.h есть строка:
Код

extern C_LINKAGE int SDL_main(int argc, char *argv[]);


меняю ее на
Код

extern C_LINKAGE int SDL_main();


и все работает smile 
PM WWW ICQ   Вверх
bsa
Дата 20.1.2007, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Цитата(cia @ 19.1.2007,  12:42)
Таки никто не подскажет?
Второй день никак не разберусь.
Суть сводится к тому, чтобы просто уменьшить рисунок в размерах (для интернета). Может кто подскажет альтернативный путь? С другими библиотеками? А то я уже запарился.
Прошу помочь.

Если хочешь более менее универсальный способ, то DevIL (openil.sf.net). Там это делается следующей последовательностью операций:
ILuint img
ilInit()  - инициализация библиотеки
iuGenImage(1, &img) - создание новой картинки
ilBindImage(img) - выбор созданной картинки в виде текущей
ilLoadImage() - загрузка файла в текущую картинку
ilTexImage() - изменение параметров текущей картинки (не только размеры)
ilSaveImage() - сохранение картинки
ilDeleteImages(1, &img) - освобожение занимаемой картинкой памяти

SDL использовать для этих целей нет никакого смысла. SDL предназначен для создания полноэкранных приложений (читай игр), легко переносимых на разные платформы.
IMG_Load входит в состав библиотеки SDL_image, поэтому линковать нужно с опциями -lSDL_image или -llibSDL_image.lib (.a .la)
PM   Вверх
powerfox
Дата 20.1.2007, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: 2
Всего: 97



Цитата(cia @  18.1.2007,  21:20 Найти цитируемый пост)
-lmingw32 -lSDLmain -lSDL -lwinmm -ldxguid -llibSDL

Не хватает -lSDL_image, если ты грузишь не BMP картинки.

http://www.ferzkopp.net/Software/SDL_gfx-2.0/
С помощью этого дополнения можно масштабировать картинки, используй rotozoom оттуда.


--------------------
user posted image
PM WWW   Вверх
cia
Дата 21.1.2007, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 15.1.2007

Репутация: нет
Всего: 4



Цитата(bsa @  20.1.2007,  16:42 Найти цитируемый пост)
IMG_Load входит в состав библиотеки SDL_image, поэтому линковать нужно с опциями -lSDL_image или -llibSDL_image.lib (.a .la) 

Это я уже сделал. И как уже писал работать SDL заставил.

Цитата(bsa @  20.1.2007,  16:42 Найти цитируемый пост)
Если хочешь более менее универсальный способ, то DevIL (openil.sf.net). Там это делается следующей последовательностью операций:
ILuint img
ilInit()  - инициализация библиотеки
iuGenImage(1, &img) - создание новой картинки
ilBindImage(img) - выбор созданной картинки в виде текущей
ilLoadImage() - загрузка файла в текущую картинку
ilTexImage() - изменение параметров текущей картинки (не только размеры)
ilSaveImage() - сохранение картинки
ilDeleteImages(1, &img) - освобожение занимаемой картинкой памяти

На SDL_Image натолкнулся прости из поиска в Гугле. И он уже работает как надо. Но все равно спасибо
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0572 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.