|
5 / 5 / 0
Регистрация: 03.07.2011
Сообщений: 30
|
||||||||||||||||
Ошибка компиляции, класс, файлы.03.07.2011, 20:21. Показов 1422. Ответов 7
Метки нет (Все метки)
Здравствуйте участники форума, недавно занялся программированием по книге Дирка Хенкеманса "Программирование игр на С++"
Компиляция при распределении классов по файлам, возвращает ошибки. Долгие поиски вынудили обратиться к мастерам за помощью ![]() Файл: main.cpp
Загружаю все три файла, адрес к файлам - латинский.
0
|
||||||||||||||||
| 03.07.2011, 20:21 | |
|
Ответы с готовыми решениями:
7
Перегрузил операцию преобразования типов данных (класс -> класс) но выскакивает ошибка компиляции Типизированные файлы. Ошибка компиляции
|
|
71 / 76 / 9
Регистрация: 30.06.2011
Сообщений: 176
|
|
| 03.07.2011, 20:27 | |
|
И на что ругается ??
0
|
|
|
5 / 5 / 0
Регистрация: 03.07.2011
Сообщений: 30
|
|
| 03.07.2011, 20:37 [ТС] | |
|
Сначала компилятор обрабатывает файл main.cpp (при этом если допустить ошибку в других файлах, он также это заметит, т.е. они обрабатываются одновременно?)
Далее, он начинает обрабатывать остальные файлы (судя по всему повторно, но может быть так и необходимо?) и выдает что все переменные/классы undeclared т.е. не обьявлены. Возможно я что-то напутал с процессом компиляции, но сколько не пытался лазать по настройкам, ничего что можно покрутить не нашел. Еще слева заметил три окошка, Project, Classes, Debug. Все файлы у меня располагались в первом окне, но что-то подсказывает мне что место файлом с классами во втором. Никаким образом перекинуть туда у меня не вышло.
0
|
|
|
71 / 76 / 9
Регистрация: 30.06.2011
Сообщений: 176
|
||
| 03.07.2011, 21:10 | ||
|
А что в файлах Файл: bow.h и Файл: bow.cpp нету никаких #include ?
Если bow.h ссылается на string, то ему надо #include <string> прописать. A для bow.cpp #include "bow.h", он ссылается на класс Bow и ему нужно знать объявление класса. А .cpp файлы должны подключаться, как файлы "исходного кода". PS. Dev-C++ не знаю =)
1
|
||
|
Заблокирован
|
|
| 03.07.2011, 21:26 | |
|
ну во-первых, выводите сообщение об ошибке, которое вам привёл КОМПИЛЯТОР.
а ваши домысли скорее всего не верны. потому что, будь они верными, у ваз бы такой проблемы не было. Остаётся только гадать. А во-вторых в файле bow.cpp самоей первой строчкой напишите: #include "bow.h" в хедере bow.h должно быть все необходимое для работы класса Добавлено через 15 минут Хотя для новичка книга Дирка Хенкеманса,Марка Ли - потрясающая вещь. Скилл прокачивает бесподобно. Но в своей книге принципы создания много-файлового проекта Дирк практически опустил. Та скудная инфа, что дана на 132 странице - весьма скунда и КОМПИЛЯТОРО-ЗАВИСИМАЯ. В частности, он пишет, что нет нужды цеплять к проекту хедер и одноименный спп, а достаточно только один хедер. А спп подключится автоматически. Ну так вот, может это и справедливо для CodeWarrior, в котором писал Дирк, но вот в той же 2008 студии так делать нельзя. Поэтому, мой вам совет: как распределять код по файлам лучше узнайте из других источников. И второй совет: почти в самом конце книги Дирк знакомит читателя с directX на примере работы с DirectDraw. Я настоятельно рекомендую на этом закончить изучение этой книги. Потому что: 1. Дирк очень-очень поверхностно знакомит читателя с работой директдрав7. Если так интересно как делать видео-игры на примере директдрав - читайте Ламота. Пострясающее полезная для любого новичка книга. И тоже на примере DirectDraw7 2. DirectDraw7 уже давно не поддерживается. Этот диназавр считается .... устаревшей технологией. Конечно вреда не будит, если вы потратите время на Ламота. Пользы будит много, но.... если вы ориентированы на геймдеф, то есть резон посмотреть в сторону более новых ГАПИ, тот же directX9 и старше, или OpenGL
1
|
|
|
5 / 5 / 0
Регистрация: 03.07.2011
Сообщений: 30
|
|||
| 04.07.2011, 00:19 [ТС] | |||
![]()
0
|
|||
|
Заблокирован
|
|
| 04.07.2011, 11:53 | |
|
На мой взгляд ценность книги Ламота "программирование игр для Windows. Советы профессионала" не столько в том, что он рассказывает, как пользоваться DirectDraw, сколько в том, что он преподносит и очень тщательно расжовывает для новичка многие базовые принципы архитектуры видео-игры, попутно цепляя необходимые, но казалось бы перпендикулярные темы: взаимодействие с ОСью, ресурсы, как кодируется формат цвета, простейшие примеры оптимизации алгоритмов, и тп.
Поэтому, после его книги перепрыгнуть на какой нибудь DirectX9 или OpenGL - проблемы не будит. А вот знания, в плане создания костяка программы для видео-игры могут здорова пригодится. Насчёт книг по OpenGL ничего сказать не могу, сам я пытался читать множество книг, но все они какие то непедагогичные оказались. В результате стартовал по урокам Nehe. И уже только потом, немножко под разобравшись и освоившись, начал понимать разные книги. Опять таки, я слишком мало знаю об этой области, что-бы что-то утверждать. Насчёт DirectX хвалят многих авторов. Лично мне очень понравилась книга Горнакова С.Г. "DirectX 9. Уроки программирования на C++" Понравилась именно из-за того, что он очень педагогично и доходчиво объясняет новичку материал. Не вываливает на голову сразу кучу, а излагает материал последовательно. И больше всего мне у него понравилось - у него любая теоретическая выкладка тут же подкрепляется практическим примером. То есть сразу понятно, как это работает. /ps как самоучка, я заметил, что лучше всего в первый момент времени усваиваются книги по типу Хенкеманса - материал довольно поверхностный, но зато просто усваивается. И только потом, уже подковавшись чуток, нужно переходить на книги других авторов, которые пишут тоже самое, но капают намного глубже. Так получается углубленное обучение. /pss Даже самый простенький графический движок на с++ потребует от вас многих знаний о языковых конструкциях с++, о которых Хенкеманс ничего не сообщал (дабы не сбивать новичка с толку). Поэтому, параллельно Ламоту, рекомендую вам найти какой нибудь материал по более углубленному изучению самого языка с++.
2
|
|
|
5 / 5 / 0
Регистрация: 03.07.2011
Сообщений: 30
|
|||||||||||||||||||||||||||||||
| 09.07.2011, 20:30 [ТС] | |||||||||||||||||||||||||||||||
|
Снова возникли проблемы, теперь уже в следующей задаче, той же книги (Дирк Хенкеманс, Марк Ли "Программирование игр на C++"
Неоднократно перепроверенный код: DragonLord.cpp \\main.cpp
Вывод компилятора:
Безмерно интересно узнать, какую деталь я упустил. Заранее спасибо!
0
|
|||||||||||||||||||||||||||||||
| 09.07.2011, 20:30 | |
|
Помогаю со студенческими работами здесь
8
Ошибка при компиляции: Отсутствуют файлы в папке Debug Фасадный класс. Все файлы подключены, но возникает ошибка Ошибка при компиляции:"C2955 "Tree": для использования класс шаблон требуется список аргументов шаблон" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|