-5 / 0 / 0
Регистрация: 29.07.2012
Сообщений: 61
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Много файлов, а толку - "0"05.02.2013, 18:34. Показов 1528. Ответов 27
Метки нет (Все метки)
Вот разбил код на файлы и теперь непойму где сныкался - error.
sfunc.h
Но могу ошибаться! Добавлено через 3 часа 22 минуты Уважаемые, помогите, листинги не собираются! Одним файлом *.срр все работает нештяк, а так неполучается. Так в чем же проблема?
0
|
05.02.2013, 18:34 | |
Ответы с готовыми решениями:
27
слишком много аргументов в вызове функции или как создать много файлов на рабочем столе Приатачить много файлов. GZipStream и много файлов слишком много включаемых файлов |
163 / 163 / 22
Регистрация: 23.02.2011
Сообщений: 347
|
|
05.02.2013, 19:09 | 2 |
ты б хоть ошибку привел
0
|
163 / 163 / 22
Регистрация: 23.02.2011
Сообщений: 347
|
|
05.02.2013, 19:11 | 4 |
и я, например, не вижу реализаций функций из sfunc.h
0
|
-5 / 0 / 0
Регистрация: 29.07.2012
Сообщений: 61
|
|
05.02.2013, 19:25 [ТС] | 5 |
Дело в том что проект состоящий из зтих файлов несобирается/
ошибку непомну... Добавлено через 2 минуты const int L = 30; // длинна const int W = 20; // ширина char map[W][L]; Убирал, и не че. И так крутил, итак - неченевыходит. Добавлено через 8 минут Вот ошибка: multiple definition of `map' first defined here ld returned 1 exit status D:\progs\Dev-Cpp\myscr\myConsole\Makefile.win [Build Error] [Output/MingW/nySnake.exe] Error 1 пользуюсь wxDev-C++
0
|
-5 / 0 / 0
Регистрация: 29.07.2012
Сообщений: 61
|
|
05.02.2013, 19:51 [ТС] | 7 |
Перенес в *.срр - тогда их невидно в реализации класа, и выдает ошибку
0
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||||||
05.02.2013, 19:52 | 8 | |||||
Вальдемар, определения - как и сказали, в цпп. В заголовочник - объявления:
0
|
-5 / 0 / 0
Регистрация: 29.07.2012
Сообщений: 61
|
|||||||||||
05.02.2013, 19:59 [ТС] | 9 | ||||||||||
main.cpp
0
|
-5 / 0 / 0
Регистрация: 29.07.2012
Сообщений: 61
|
||||||||||||||||||||||||||
05.02.2013, 20:12 [ТС] | 11 | |||||||||||||||||||||||||
1 D:\progs\Dev-Cpp\myscr\myConsole\snake.cpp In file included from snake.cpp
6 D:\progs\Dev-Cpp\myscr\myConsole\snake.h variable-size type declared outside of any function 6 D:\progs\Dev-Cpp\myscr\myConsole\snake.h variable-size type declared outside of any function D:\progs\Dev-Cpp\myscr\myConsole\Makefile.win [Build Error] [Objects/MingW/snake.o] Error 1 Добавлено через 1 минуту Нет майна потомучто ниписал на скорую руку. Добавлено через 9 минут Вот все листинги: snake.h
0
|
05.02.2013, 20:20 | 12 |
Вальдемар, сталиквался, много нервов пожёг.
ставете на всех хейдерах стражей. в хейдерах оставляете только статики или экстерны (зависит от ваших намерений). на все экстерны делаете объявления в cpp файлах. у меня в блоге есть решение такой проблеммы
0
|
-5 / 0 / 0
Регистрация: 29.07.2012
Сообщений: 61
|
|
05.02.2013, 20:24 [ТС] | 14 |
Van111, превидите пример пожалуйста.
хотяб небольшой. Добавлено через 58 секунд Да да, они в проекте.
0
|
05.02.2013, 21:06 | 15 | ||||||||||||||||||||||||||||||
main
юнит1 - хейдер
юнит2 - хейдер
Вальдемар, если интересует конкретно чтото - вылаживайте весь, весь код а лучше проект MVC
0
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,514
|
||||||
05.02.2013, 21:11 | 16 | |||||
и что тебе даст эта конструкция??
макрос то не определяется и твой сторожевик не сработает вот так делают
если еще одно включение то макрос уже определен обходим
0
|
05.02.2013, 21:23 | 17 |
Мне интересно, я один заметил кривые include стражи у автора???
Короче, даю подсказку. Содержимое файла "sfunc.h" даже не подключается в main.cpp и соответственно все функций из sfunc не имеют прототипов. Почему? потому что не срабатывает условие #ifndef в нём. А теперь угадай почему. Вот и интересно, кто-нибудь за 2 страницы обсуждения это заметил? Ну-же, не хочу портить загадку прямым ответом.
0
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,514
|
|
05.02.2013, 21:43 | 18 |
а в чем кривизна?
#ifndef FUNCTION_SNAKE_H проверяем определен ли макрос если да то выходим(обходим блок) если нет идем сюда #define FUNCTION_SNAKE_H определяем макрос чтото делаем #endif конец блока
0
|
05.02.2013, 21:57 | 19 |
Ох, либо показалось, либо автор уже исправил.
Я думал, что имена макросов в обоих хедерах одинаковые.(#define SNAKE_H) Это привело бы к ошибке. Мда. а я ещё удивился, что заметил это, хотя обычно невнимателен к таким вещам. И вот те на. Добавлено через 6 минут ну тогда я вижу всё равно ошибку. Никогда не объявляйте глобальные переменные в хедерах. Также как и с функциями, переменные должны находиться в cpp файлах, причём одна переменная должна объявляться только в одном из файлов А в h файлах они должны быть помечены как extern, т.к. один h файл может подключаться в несколько срр до их компиляции, а затем при линковке программы обнаружится, что переменная объявлена несколько раз! ах да, всю тему не читал, оказывается уже заметили
0
|
-5 / 0 / 0
Регистрация: 29.07.2012
Сообщений: 61
|
|||||||||||||||||||||
06.02.2013, 01:08 [ТС] | 20 | ||||||||||||||||||||
Я заметил еще одну странность:
global.h
Ядумаю проблема в глобальном объевлении массива, так как с обычными глобальными переменнымми все работает на ура! И КАК-ЖЕ БЫТЬ?
0
|
06.02.2013, 01:08 | |
06.02.2013, 01:08 | |
Помогаю со студенческими работами здесь
20
Добавить много файлов в список Вирус заразил много файлов Отправка много файлов на PHP Флешки не любят много файлов ? Как удалить много файлов? Много файлов в одном проекте ВК ВЧ и нету толку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |