Играем в Линуксе!

Xakep, номер #048, стр. 048-078-3


Некоммерческая реализация Glut: FreeGlut http://freeglut.sf.net

Низкоуровневая библиотека Hermes для работы с 3D-графикой www.clanlib.org/hermes/

Интерфейс для работы с трехмерным звуком OpenAL www.openal.org/

Компилер компилеру рознь

Частенько в файлах README или INSTALL различных программ и игр встречается настойчивое требование разработчиков обновить компилятор или сделать ему downgrade. Относится это к ни в чем не повинным заводчикам красных шляпок,

на слезах и синяках которых девелоперы из Red Hat просто-напросто решили обкатать свою версию компилятора gcc. Хотя сейчас с полной уверенностью можно сказать, что им этот трюк удался, и в дистрибе Red Hat Linux 7.3 мы получили

действительно неплохой компилер. Узнать версию gcc можно следующим образом:

$ gcc -v

Если в ответ получишь 2.96 и под-версия компилятора будет меньше 100, то следующие несколько абзацев специально для тебя :). Чтобы остальным тукс малиной не казался, рассмотрим пример установки компилятора gcc версии 3.2

(последней на момент написания статьи). Инсталляцию компилера стандартной процедурой не назовешь: сначала нужно распаковать архив, перейти в созданный каталог, создать временную директорию и из нее запустить скрипт configure с необходимыми аргументами, затем через переменные окружения указать дополнительные флажки для компиляции, собрать и поставить:

# tar zxvf gcc-3.2.tar.gz

# cd gcc-3.2

# mkdir obj

# cd obj

# ../configure --prefix=/usr/local/gcc --program-suffix=-3.2 --enable-languages=c,c++,java,objc

# make CFLAGS='-O' LIBCFLAGS='-O2' LIBCXXFLAGS='-O2 -fno-implicit-templates' bootstrap

# make install

Затем в файл /etc/ld.so.conf необходимо добавить путь к либам нового компилера и дать программе ldconfig перечитать свой конфиг:

# echo "/usr/local/gcc/lib" >> /etc/ld.so.conf

# ldconfig

Теперь, чтобы воспользоваться свежеустановленным компилятором, нужно либо понаделать симлинков, либо перед компиляцией какой-нибудь капризной программы (дружно вспоминаем Mplayer :) изменить переменные окружения:

# export CC=/usr/local/gcc/bin/gcc-3.2

# export CXX=/usr/local/gcc/bin/g++-3.2

Экскурсия по библиотекам

Все, с компилером разобрались. Теперь перейдем к установке SDL (www.libsdl.org) и связанных с ней библиотек. Здесь рекомендую действовать смело и в такой последовательности:

1) Ставим саму библиотеку SDL:

$ tar zxvf SDL-1.2.4.tar.gz

$ cd SDL-1.2.4

$ ./configure --disable-openbsdaudio

$ make

# make install

2) Устанавливаем архинужную для SDL_mixer библиотеку smpeg (www.lokigames.com/development/smpeg.php3) с аргументом --enable-mmx.

Чтобы лишний раз не повторяться, процесс разархивирования и make && make install здесь и далее описывать не буду.

3) Теперь на твоем винте должна появиться сама библиотека SDL_mixer (www.libsdl.org/projects/SDL_mixer/index.html), она необходима для микширования звука.

4) Следующим пациентом будет либа для работы с сетью SDL_net (www.libsdl.org/projects/SDL_net/index.html), конфигурируй с параметром --disable-gui

5) И, наконец, библиотека SDL_image (www.libsdl.org/projects/SDL_image/index.html) для работы с графическими форматами PPM, PCX, GIF, JPEG, PNG, TGA и TIFF (сама SDL умеет работать только с форматом BMP), при установке скрипт configure нужно озадачить такими аргументами: --enable-tif --enable-xcf

Назад на стр. 048-078-2  Содержание  Вперед на стр. 048-078-4