Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2013, 18:15   #1
sersheg
Новичок
Джуниор
 
Регистрация: 21.10.2013
Сообщений: 2
По умолчанию обязательно ли включать cpp файлы посредством "add files to project"?

Когда нажимаю "add files to project", Microsoft Visual Studio 6.0. выдаёт "инструкция по адресу ... обратилась к памяти.... память не может быть read"
Переустановил Microsoft Visual Studio (тоже 6.0.) - не помогло.

Обязательно ли включать cpp файлы посредством "add files to project", если они и так лежат в той папке, где лежит main.cpp и все включенные заголовочные файлы, при этом для каждого .h файла имеется соответствующий ему .cpp файл с точно таким же названием?

А то мне компилятор (MSVC6.0) выдаёт несколько ошибок вроде:
unresolved external symbol "public: int __thiscall Game::Execute(class Screen *,int,int)" (?Execute@Game@@QAEHPAVScreen@@HH@Z )
Правильно ли я понимаю, что он видит объявление в заголовочном файле, но не может найти его определение в .cpp?
sersheg вне форума Ответить с цитированием
Старый 09.11.2013, 19:11   #2
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию

Цитата:
Обязательно ли включать cpp файлы посредством "add files to project", если они и так лежат в той папке,
Да, обязательно. Все дело в том, что компилятор компилирует, а линковщик собирает только те файлы, которые ему указали. А указывает ему их среда, Вы указываете среде. "Левого" она ничего подключать в проект не будет.

Цитата:
Правильно ли я понимаю, что он видит объявление в заголовочном файле, но не может найти его определение в .cpp?
Отчасти - да. Компилятор на вход получает файлы cpp и компилирует их в объектные файлы(машинный код+названия функций). После этого линковщик собирает из объектных(.o .obj) исполняемый файл(.exe). Вот как раз на этом этапе у Вас не обнаруживается функция, которая должна быть в другом объектном файле.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог

Последний раз редактировалось _PROGRAMM_; 09.11.2013 в 19:14.
_PROGRAMM_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Существуют ли "защищённые" флешки (посредством "заводского" внедрения туда файла autorun.inf) Вадим Мошев Безопасность, Шифрование 20 23.08.2012 22:19
Add New Project и добавление "левого" кода в код консольной программы Upgrades Общие вопросы Delphi 2 21.10.2011 23:03
Правила раздела "Свободное общение" (прочтение обязательно) Arigato Свободное общение 0 23.06.2010 10:38
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06
настроить при открытии Excel 2003 в окошке "Тип файлов" вывод пункта "Все файлы (*.*)" по умолчанию? Unior Microsoft Office Excel 2 01.03.2009 02:42