LINUX.ORG.RU

Неудачная сборка программы gens


0

1

Привет всем!

Подскажите, если при сборке чужой программы (а именно gens v 2.15 (эмулятор SEGA)) вылетают ошибки:
gcc <всякие опции> -o gens <список o-файлов> <список библиотек> sdllayer/gens-g_sdldraw.o: In function `Flip_gl':
<путь>/gens/sdllayer/g_sdldraw.c:364: undefined reference to `glBindTexture'
<путь>/src/gens/sdllayer/g_sdldraw.c:366: undefined reference to `glPixelStorei'

означает ли это, что каких-то пакетов не хватает для сборки? Если да, то каких?

P.S.: Описанные в README минимальные требования для сборки удовлетворены (отрывок из README: http://paste.org.ru/?c3t1i9, мои версии библиотек: http://paste.org.ru/?cwbqrz)
./configure выполняется без ошибок (лог: http://paste.org.ru/?1i20xq)
ошибки возникают при вызове make (лог повторного запуска make: http://paste.org.ru/?wwt9ps)
дистрибутив rpm-based

Ответ на: комментарий от cattail

В файле g_sdldraw.c присутствуют строки
#include <GL/gl.h>
#include <GL/glext.h>

Если их убрать, появляется другая ошибка: sdllayer/g_sdldraw.c:56: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘textures’
sdllayer/g_sdldraw.c: In function ‘Init_Fail’:
sdllayer/g_sdldraw.c:112: warning: unused parameter ‘hwnd’
sdllayer/g_sdldraw.c: In function ‘Init_draw_gl’:
sdllayer/g_sdldraw.c:150: warning: implicit declaration of function ‘glViewport’
sdllayer/g_sdldraw.c:152: warning: implicit declaration of function ‘glMatrixMode’
sdllayer/g_sdldraw.c:152: error: ‘GL_PROJECTION’ undeclared (first use in this function)

PeleWin
() автор топика
Ответ на: комментарий от cattail

Похоже, что какая-то из библиотек не указана в списке библиотек для выполнения сборки (линковки) ?

PeleWin
() автор топика

Ура, я решил эту головоломку! :)

В Makefile в команде сборки бинарного файла gens не хватало библиотеки -lGL, а после добавления - всё собралось и работает! :)

PeleWin
() автор топика
Ответ на: комментарий от PeleWin

на будущее: если что-то не собирается, то надо отнюдь не вырезать header'ы, а добавить(если вдргу такое будет) или проверить все-ли библиотеки и пути к header'ам указаны:

-L/path_to_library
-llibrary_name
-I/path_to_headers
blinkenlichten
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.