![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| IValdemar |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 10.1.2012 Репутация: нет Всего: нет |
У меня была программа примерно под 400 строк кода, я почитал про модульное программирование и решил разбить ее на модули. Разбить то я разбил, а вот собрать теперь не получается. В общем компилятор при сборке в файлы .o натыкается на множественное объявление.
Полный код ошибок:
Никак не пойму что ему не нравится. Понятно что множественное объявление, несколько раз пересобирал - все тщетно. Как можно отловить ошибку которая появляется в момент создание object файлов? Все бинарники прикрепил архивом. P.S Если имеет значение, то пользуюсь MinGW и CodeBloks. Но я думаю тут не в компиляторе проблема Это сообщение отредактировал(а) IValdemar - 23.3.2012, 00:05 Присоединённый файл ( Кол-во скачиваний: 5 )
Snake.rar 6,09 Kb |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
стражи в хидерах отсутствуют.
|
|||
|
||||
| IValdemar |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 10.1.2012 Репутация: нет Всего: нет |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
да, я ошибся.
тогда, во первых - перенеси реализации free-функций из хидеров в .cpp, или добавь inline. во вторых - "point_R2.h|40|multiple definition of `hstdout'" - там нет символа hstdout. логи от другой модификации исходников? |
|||
|
||||
| xvr |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
В console_handle.h убери
А то, что убрал, перенеси например в main.cpp |
||||
|
|||||
| IValdemar |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 10.1.2012 Репутация: нет Всего: нет |
xvr Сделал как вы сказали.
Ошибок стало меньше
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
нужно повторять? |
|||
|
||||
| IValdemar |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 10.1.2012 Репутация: нет Всего: нет |
Нет, логи точно от этой.
А какие у меня free функции не в cpp? Разве что
Поменял на
Также в файле snke_defines.h
Определения переменных засунул в main.cpp Все отлично программа собралась и заработала Я так понимаю, что определения переменных оказались в нескольких cpp, отсюда несколько объявлений. Теперь возникла странность: в компиляторе все работает, но если попытаться запустить через exe пишет такое сообщение Приложению не удалось запуститься, поскольку libgcc_s_dw2-1.dll не был найден. Что это такое? И почему при запуске в C::B все работает? Это сообщение отредактировал(а) IValdemar - 23.3.2012, 13:43 |
||||||||
|
|||||||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
| IValdemar |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 10.1.2012 Репутация: нет Всего: нет |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
качаешь одну из моих сборок, собираешь прогу с ключом '-static'. хотя проверь, может быть тот мингв что у тебя, тоже поддерживает '-static' |
|||
|
||||
| IValdemar |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 10.1.2012 Репутация: нет Всего: нет |
boostcoder,
А почему он вообще библиотеку запросил? Когда я эту программу в одном файле собирал все работало. От чего это зависит? Скачал, собираю с ключом -static эффекта нету Может я не там прописываю? Я прописал в Setting->Compiler and Debugger->Other Setting В Compiler flags -static нету. Это сообщение отредактировал(а) IValdemar - 23.3.2012, 15:21 |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
тебе показалось. я не знаю что это. есть CFLAGS, CXXFLAGS, LDFLAGS, CPPFLAGS. остальное все херня. |
|||
|
||||
| IValdemar |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 10.1.2012 Репутация: нет Всего: нет |
boostcoder,
Разобрался где в C::B надо опции дописывать так что теперь все работает как надо P.S А в одном файле я ее собирал до обновления MinGW (с неделю как обновил). |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |