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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Makefile, линковка файлов, ошибка redeclaration 
V
    Опции темы
BioMaX
Дата 27.7.2011, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Суть проблемы, есть 3 файла, один из них .h , другие .c, так же есть makefile.

Код

FLAGS = -std=c99
CC = gcc $(FLAGS)
BIN = bin/
SRC = src/
SOURCES = $(SRC)*.c
OBJECTS = $(SRC)*.o
LIBS = -lfreetype -lz -lX11 -lX11 -lglut -lGL -lGLU -lchipmunk -lSDL
EXECUTABLE = $(BIN)main
#all: $(OBJECTS)
# $(CC) $(OBJECTS) -o $(EXECUTABLE) $(LIBS)

all: $(EXECUTABLE)

$(OBJECTS): $(SOURCES)

$(EXECUTABLE): $(OBJECTS)
  $(CC) -o $(EXECUTABLE) $(LIBS) $(OBJECTS) $(LIBS)

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

 .PHONY: all clean


Есть shared.h файл который подключается в обоих .c файлах. В нем есть пару констант.
Код

const int SCREEN_WIDTH = 600;
const int SCREEN_HEIGHT = 480;


Так же есть 2 .c файла, примерно с таким содержанием
Код

#include "shared.h"

int main
{
  return 1;
}

Код

#include "shared.h"

int some_func
{
  return 1;
}


Проблема следующая, когда я собираю проект через makefile происходит ругательство на то что переопределяются переменный в shared.h, пробовал и extern не то, ручками проект получается собрать. Как правильно написать makefile ?

Это сообщение отредактировал(а) BioMaX - 27.7.2011, 11:36
PM MAIL   Вверх
BioMaX
Дата 27.7.2011, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ручками тоже не получилось собрать...
--->
Нагуглил и нашел что нужно делать такой трюк.

#ifndef _shared.h
#define shared.h

// - code

#endif //<- ifndef shared.h

Что-то вроде этого, только почему-то не работает пока что, если сделаю - отпишу.

Вроде бы разобрался, пошел читать книги, спасибо за внимание. smile

Это сообщение отредактировал(а) BioMaX - 27.7.2011, 12:19
PM MAIL   Вверх
bsa
Дата 27.7.2011, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Ответы на часто задаваемые вопросы

M
bsa
Если ответ на вопрос найден, то пометь тему решенной

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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