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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Сборка собственных исходников с помощью make  (Прочитано 1701 раз)

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

Оффлайн RazrFalcon

  • Автор темы
  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
(Нажмите, чтобы показать/скрыть)

(Нажмите, чтобы показать/скрыть)

(Нажмите, чтобы показать/скрыть)

Используются хедеры bullet physics, как правильно задать путь к ним.
« Последнее редактирование: 22 Ноября 2010, 03:04:39 от RazrFalcon »
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
CFLAGS=-c -Wall $(INCLUDEPATH)
« Последнее редактирование: 22 Ноября 2010, 13:52:24 от wl »
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
лучше вообще строку INCLUDEPATH=.. заменить на
CPPFLAGS+=-I/usr/include/bullet
-I лучше складывать в ключи предпроцессору (CPPFLAGS), а не ключи компилятору C (CFLAGS). А вообще в GNU make manual расписанны все переменные используемые в неявных правилах и их назначения.

Оффлайн RazrFalcon

  • Автор темы
  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Сборка собственных исходников с помощью m
« Ответ #3 : 22 Ноября 2010, 21:14:27 »
Спасибо, оба вариант работают.
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 22 Ноября 2010, 21:20:24 от RazrFalcon »
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Ну то, что они оба работают, не означают, что они оба правильные ;) С точки зрения тех кто писал дефолтные неявные правила для Make, флаги препроцессора должны идти в переменную CPPFLAGS, а не в CFLAGS.

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Да, кстати.
CPP означает C PreProcessor, а отнюдь не C Plus Plus. :)
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн RazrFalcon

  • Автор темы
  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Кроме того, что
Цитировать
CPP означает C PreProcessor, а отнюдь не C Plus Plus
ничего не понял  :idiot2:
как должен выглядеть мой makefile?
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: Сборка собственных исходников с помощью m
« Ответ #7 : 23 Ноября 2010, 20:23:00 »
Ну в нём ключи -I должны идти в переменной CPPFLAGS. Так же нужно плотней использовать неявные правила уже определённые в make:
CXXFLAGS=-c -Wall
LDFLAGS=
SOURCES=hello.cpp
OBJECTS=$(SOURCES:.cpp=.o)
EXECUTABLE=hello
CPPFLAGS+=-I/usr/include/bullet

all: $(EXECUTABLE)

$(EXECUTABLE): $(OBJECTS)
        $(CXX) -o $(EXECUTABLE) $(LDFLAGS) $(OBJECTS) $(LOADLIBES) $(LDLIBS)

$(OBJECTS):$(SOURCES)

clean:
        $(RM) $(OBJECTS) $(EXECUTABLE)

.PHONY: all clean
« Последнее редактирование: 23 Ноября 2010, 20:25:43 от VestniK »

Оффлайн RazrFalcon

  • Автор темы
  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Сборка собственных исходников с помощью m
« Ответ #8 : 23 Ноября 2010, 21:19:32 »
Ясно, спасибо.

Пользователь решил продолжить мысль 24 Ноября 2010, 21:26:21:
В makefile либы задаются так:
LINK_LIBRARIES(OpenGLSupport BulletDynamics  BulletCollision LinearMath    ${GLUT_glut_LIBRARY} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY})Как их задать через:
LDFLAGS=-lBulletDynamics -lBulletCollision -lLinearMathКак узнать, как называются либы глута?
« Последнее редактирование: 24 Ноября 2010, 20:26:31 от RazrFalcon »
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
find /usr/lib -iname "lib*glut*" ну а из вывода уже видно, что нужно -lglut

 

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