Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
zero-11
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
#1

Подключение файла заголовка

04.04.2014, 16:16. Просмотров 569. Ответов 10
Метки нет (Все метки)

Я создал проект Win32 - выбрал пустой проект а далее создал файл заголовка Cat.hpp:

C++
1
2
3
4
5
6
7
8
9
10
11
12
 #include <iostreram>
class Cat
{
 public:
   Cat (int initialAge);
   ~Cat();
   int GetAge() const { return itsAge; }
   void SetAge ( int age ) { itsAge = age; }
   void Meow() const { std::cout << "Meow.\n";}
   private:
   int itsAge;
 };
затем снова элемент -новый элемент - выбираю С++ и создаю файл кода на C++ CPP -Cat.cpp:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "Cat.hpp"
 
 Cat::Cat(int initialAge)
{
  itsAge=initialAge;
}
Cat::~Cat()
{
}
 
int main()
{
 Cat Frisky(5);
 Fricky.Meow();
 cout<<"Frisky is a cat who is ";
 cout<<Fricky.GetAge()<<" years old.\n";
 Frisky.Meow();
 Frisky.SetAge(7);
 cout<<"Nnow Frisky is";
 cout<<Frisky.GetAge()<<" years old.\n";
 return 0;
}
Компилятор пишет:

Код
1>------ Построение начато: проект: New.Cat_4, Конфигурация: Debug Win32 ------
1>  New.Cat_4.cpp
1>c:\users\игорь\documents\visual studio 2010\projects\new.cat_4\new.cat_4\new.cat_4.cpp(2): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
1>  Cat.cpp
1>c:\users\игорь\documents\visual studio 2010\projects\new.cat_4\new.cat_4\cat.cpp(1): warning C4627: #include "Cat.h": пропущен при поиске использования предкомпилированного заголовка
1>          Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>c:\users\игорь\documents\visual studio 2010\projects\new.cat_4\new.cat_4\cat.cpp(23): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
1>  Создание кода...
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2014, 16:16
Ответы с готовыми решениями:

Подключение DLL без заголовка
Здравствуйте. У меня есть dll, написанная на Delphi, нужно использовать ее на...

Как создать dll библиотеку из файла заголовка
прошу, сильно не кидайтесь кирпичами, за незнанием с++ пришлось прибегнуть к...

Открытие wav файла и чтение его заголовка
Надо открыть wav файл и прочитать заголовок его , компилиться но ничего не...

Использование подставляемых функций и включение файла заголовка.
Приветствую Вас форумчане! У меня вопрос и он опять связан с подключением...

Непредвиденный конец файла во время поиска предкомпилированного заголовка
Товарищи программисты! Как так получается, что при компиляции файла, выползают...

10
Wlk
90 / 90 / 48
Регистрация: 07.12.2011
Сообщений: 214
Завершенные тесты: 4
04.04.2014, 16:27 #2
Цитата Сообщение от zero-11 Посмотреть сообщение
Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
Добавили?
C++
1
#include "StdAfx.h"
0
zero-11
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
04.04.2014, 16:38  [ТС] #3
Добавлял ее в источник.Все равно не собирается. Пути правильные.

Добавлено через 2 минуты
Выдает следующие:

Cat.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: void __thiscall Cat::SetAge(int)" (?SetAge@Cat@@QAEXH@Z) в функции _main
1>Cat.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: int __thiscall Cat::GetAge(void)" (?GetAge@Cat@@QAEHXZ) в функции _main
1>Cat.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: void __thiscall Cat::Meow(void)" (?Meow@Cat@@QAEXXZ) в функции _main
0
Wlk
90 / 90 / 48
Регистрация: 07.12.2011
Сообщений: 214
Завершенные тесты: 4
04.04.2014, 16:44 #4
Цитата Сообщение от zero-11 Посмотреть сообщение
Cat Frisky(5);
Цитата Сообщение от zero-11 Посмотреть сообщение
Fricky.Meow();
Объекты различаются или опечатались?
0
zero-11
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
04.04.2014, 16:57  [ТС] #5
Не хочет собираться -

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "Cat.h"
#include "StdAfx.h"
using namespace std;
 
 Cat::Cat(int initialAge)
{
  int itsAge=initialAge;
}
Cat::~Cat()
{
}
 
int main()
{
 Cat Frisky(5);
 Frisky.Meow();
 cout<<"Frisky is a cat who is ";
 cout<<Frisky.GetAge()<<" years old.\n";
 Frisky.Meow();
 Frisky.SetAge(7);
 cout<<"Nnow Frisky is";
 cout<<Frisky.GetAge()<<" years old.\n";
 return 0;
}
0
Wlk
90 / 90 / 48
Регистрация: 07.12.2011
Сообщений: 214
Завершенные тесты: 4
04.04.2014, 17:03 #6
Вот еще ошибка.
C++
1
#include <iostreram>
И
C++
1
#include "StdAfx.h"
в первую строчку перенесите.
0
zero-11
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
04.04.2014, 17:13  [ТС] #7
Frisky - это объект класса Cat и он определен в Сat.h:

C++
1
2
3
4
5
6
7
8
9
10
11
12
 #include <iostreram>
class Cat
{
 public:
   Cat (int initialAge);
   ~Cat();
   int GetAge() const { return itsAge; }
   void SetAge ( int age ) { itsAge = age; }
   void Meow() const { std::cout << "Meow.\n";}
   private:
   int itsAge;
 };
константа - член Meow - определена в классе Cat -сам файл объявления класса вынесен в отдельный файл
Сat.h - подключается отдельно:

#include "Cat.h"


А реализация методов реализована в Cat.cpp - при компиляции не хочет подключать Сat.h

Добавлено через 6 минут
Я пробовал так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "StdAfx.h"
#include "Cat.h"
#include "iostream"
using namespace std;
 
 Cat::Cat(int initialAge)
{
  int itsAge=initialAge;
}
Cat::~Cat()
{
}
 
int main()
{
 Cat Frisky(5);
 Frisky.Meow();
 cout<<"Frisky is a cat who is ";
 cout<<Frisky.GetAge()<<" years old.\n";
 Frisky.Meow();
 Frisky.SetAge(7);
 cout<<"Nnow Frisky is";
 cout<<Frisky.GetAge()<<" years old.\n";
 return 0;
}
0
Wlk
90 / 90 / 48
Регистрация: 07.12.2011
Сообщений: 214
Завершенные тесты: 4
04.04.2014, 17:17 #8
Я имею ввиду что ошибка тут еще в Cat.h:
C++
1
#include <iostreram>
на

C++
1
#include <iostream>
0
zero-11
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
04.04.2014, 19:10  [ТС] #9
Может есть ссылка на видео или на статью -0 было у меня видео по подключению заголовочных файлов.

Добавлено через 1 час 8 минут
Я все исправил - выдает:

Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка

что конкретное прописать-?
0
Wlk
90 / 90 / 48
Регистрация: 07.12.2011
Сообщений: 214
Завершенные тесты: 4
04.04.2014, 19:12 #10
Вот ваш код у меня спокойно запускается:
Cat.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
class Cat
{
public:
    Cat (int initialAge);
    ~Cat();
    int GetAge() const { return itsAge; }
    void SetAge ( int age ) { itsAge = age; }
    void Meow() const { std::cout << "Meow.\n";}
private:
    int itsAge;
};
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "stdafx.h"
#include <iostream>
#include "Cat.h"
 
using namespace std;
 
Cat::Cat(int initialAge)
{
    itsAge=initialAge;
}
Cat::~Cat()
{
}
 
int main()
{
    Cat Frisky(5);
    Frisky.Meow();
    cout<<"Frisky is a cat who is ";
    cout<<Frisky.GetAge()<<" years old.\n";
    Frisky.Meow();
    Frisky.SetAge(7);
    cout<<"Nnow Frisky is";
    cout<<Frisky.GetAge()<<" years old.\n";
 
    getchar();
    return 0;
}
попробуйте так же.
0
zero-11
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 56
04.04.2014, 19:23  [ТС] #11
Спасибо за помощь!! Всего-то:

C++
1
2
3
#include "stdafx.h"
#include <iostream>
#include "Cat.h"
Я просто привык компилировать не вынося часть кода в отдельный файл - а уже полез и в системную библиотеку.
0
04.04.2014, 19:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2014, 19:23

Непредвиденный конец файла во время поиска предкомпилированного заголовка
&quot;fatal error C1010: непредвиденный конец файла во время поиска...

Непредвиденный конец файла во время поиска предкомпилированного заголовка
Что тут не так #include &lt;iostream&gt; #include &lt;math.h&gt; void main() {...

Ошибка: непредвиденный конец файла во время поиска предкомпилированного заголовка
Ошибка 5 error C1010: непредвиденный конец файла во время поиска...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru