Аватар для Happy!
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245

Почему неработает компилятор?!

23.12.2010, 21:21. Показов 7260. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте, помогите пожалуйсто, я скачал книгу "Искуство програмирования игра на С++", но мой компилятор отказывается работать с кодоами указанами в данной книге, я подключил directx sdk 2010 как это требовалось в книге, нашел там исходный код попытался его скомпелировать, и мне вылетели ошибки, вот код:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
// TemplateProj.cpp : Template Direct3D project
//
 
#include <windows.h>
#include "d3d9.h"
#include "d3dx9.h"
#include "..\..\common\dxfunc.h"
 
// Global Variables:
char szWindowClass[] = "Direct3DTemplateProj";
char szTitle[] = "Direct3D Demo by Michael Flenov";
 
// Direct3D objects
IDirect3D9 *pD3D = NULL;
IDirect3DDevice9 *pD3DDevice = NULL;
 
int iWidth=800;
int iHeight=600; 
 
// Forward declarations of functions included in this code module:
int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int nCmdShow);
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
 
bool Init(HWND hWnd);
void GraphEngine();
 
int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR szCmdLine, int nCmdShow)
{
  WNDCLASSEX wcex;
  MSG        msg;
  HWND       hWnd;
 
  CoInitialize(NULL);
 
  // Register window class
  wcex.cbSize        = sizeof(wcex);
  wcex.style         = CS_CLASSDC;
  wcex.lpfnWndProc   = (WNDPROC)WndProc;
  wcex.cbClsExtra    = 0;
  wcex.cbWndExtra    = 0;
  wcex.hInstance     = hInst;
  wcex.hIcon         = LoadIcon(NULL, IDI_APPLICATION);
  wcex.hCursor       = LoadCursor(NULL, IDC_ARROW);
  wcex.hbrBackground = NULL;
  wcex.lpszMenuName  = NULL;
  wcex.lpszClassName = szWindowClass;
  wcex.hIconSm       = LoadIcon(NULL, IDI_APPLICATION);
  if(!RegisterClassEx(&wcex))
    return FALSE;
 
  // Create the main window
  hWnd = CreateWindow(szWindowClass, szTitle, WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX,
              CW_USEDEFAULT, CW_USEDEFAULT, iWidth, iHeight, NULL, NULL, hInst, NULL);
  if(!hWnd)
    return FALSE;
  ShowWindow(hWnd, SW_NORMAL);
  UpdateWindow(hWnd);
 
  if(Init(hWnd) == TRUE) 
  {
      while (true) 
      {
          if (PeekMessage(&msg, NULL, NULL, NULL, PM_REMOVE)) 
          {
              TranslateMessage(&msg);
              DispatchMessage(&msg);
              if (msg.message == WM_QUIT) break;
          }
          GraphEngine();
      }
  }
 
  if (pD3DDevice) {pD3DDevice= NULL; pD3DDevice=NULL;}
  if (pD3D) {pD3D= NULL; pD3D=NULL;}
 
  CoUninitialize();
 
  return 0;
}
 
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
  switch(message) {
    case WM_DESTROY:
      PostQuitMessage(0);
      break;
 
    default:
      return DefWindowProc(hWnd, message, wParam, lParam);
  }
 
  return 0;
}
 
bool Init(HWND hWnd)
{
  if (DX3DInitZ(&pD3D, &pD3DDevice, hWnd, iWidth, iHeight, FALSE)!=S_OK)
  {
      MessageBox(hWnd, "DirectX Initialize Error", "Error", MB_OK);
      return FALSE;
  }
 
  return TRUE;
}
 
void GraphEngine()
{
  pD3DDevice->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0,0,0), 1.0f, 0);
  if (SUCCEEDED(pD3DDevice->BeginScene())) 
  {
      pD3DDevice->EndScene();
  }
  
  pD3DDevice->Present(NULL, NULL, NULL, NULL);
}
А вот ошибки которые вылезают:
1>------ Построение начато: проект: Start, Конфигурация: Debug Win32 ------
1>Построение начато 23.12.2010 21:20:24.
1>InitializeBuildStatus:
1> Обращение к "Debug\Start.unsuccessfulbuild".
1>ClCompile:
1> Для всех выходных данных обновления не требуется.
1> dxfunc.cpp
1>c:\users\я\desktop\мои программы\c++\game\start\start\dxfunc.cp p(4): warning C4627: #include "d3d9.h": пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>c:\users\я\desktop\мои программы\c++\game\start\start\dxfunc.cp p(5): warning C4627: #include "d3dx9.h": пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>c:\users\я\desktop\мои программы\c++\game\start\start\dxfunc.cp p(39): warning C4627: #include "dxfunc.h": пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>c:\users\я\desktop\мои программы\c++\game\start\start\dxfunc.cp p(300): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
1> Start.cpp
1>c:\users\я\desktop\мои программы\c++\game\start\start\start.cpp (3): warning C4627: #include "d3d9.h": пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>c:\users\я\desktop\мои программы\c++\game\start\start\start.cpp (4): warning C4627: #include "d3dx9.h": пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>c:\users\я\desktop\мои программы\c++\game\start\start\start.cpp (5): warning C4627: #include "dxfunc.h": пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>c:\users\я\desktop\мои программы\c++\game\start\start\start.cpp (115): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
1> Создание кода...
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:00.27
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Что делать? Если ставлю #include "StdAfx.h" то ошибок становится раз в 10 больше
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.12.2010, 21:21
Ответы с готовыми решениями:

Почему не работает компилятор
ввожу самый простой код, а он мне выдает: 1&gt;------ Построение начато: проект: дд, Конфигурация: Release Win32 ------ 1&gt;Компиляция......

почему неработает код???
#include &lt;iostream.h&gt; int i,k1,k2,imax,n; void f( int *mas, const int n ) { cout&lt;&lt;&quot;\n New array: &quot;; for(i=0;i&lt;n;i++) ...

Почему-то код неработает.
Подсчитать кол-во отрицательных элементов в каждой строке матрецы размером MxN, элементы которой задаются с помощью датчика случайных чисел...

22
 Аватар для Happy!
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245
25.12.2010, 15:42  [ТС]
Студворк — интернет-сервис помощи студентам
Ошибок по меньше стало))) Но всеравно нехочет он читать библиотеки
0
 Аватар для grcool
0 / 0 / 0
Регистрация: 25.12.2010
Сообщений: 5
25.12.2010, 19:14
Цитата Сообщение от Happy! Посмотреть сообщение
Ошибок по меньше стало))) Но всеравно нехочет он читать библиотеки
У вас проект создан с прекомпилируемыми заголовками, а нужно без них. Об этом уже выше писали. Тогда и #include "StdAfx.h" не понадобится
0
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
23.10.2011, 17:39
HAPPY у меня этот пример прекрасно работает. Я использую Dev C++ с компилятором mingw. Для того чтобы всё работало нужно сделать:
1. на 21 строке убрать декларацию
2. на 27 строке заменить PASCAL на WINAPI
3. убрать нафиг все CoInitialize(NULL); из кода
4. и самое главное в 7 строке подключать не dxfunc.h, a dxfunc.cpp
5. еще можно убрать инклуды на 5 и 6 строчках, т.к. они подключены в dxfunc.cpp
Тему можно закрыть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.10.2011, 17:39

Неработает прога! Почему?
program MassivSpisok; uses Crt; Var tmp:string; i:integer; j:integer; FirstName : array of string; for i:=4 downto...

почему неработает простейший код!?
function letterCount(Mystring) { var l = Mystring.lenght; return l; } var st = prompt(&quot;введите строку: &quot;); var...

По новой системе - почему неработает?
ВОТ ТУТ НА АНИМ НАЧИНАЕТ РУГАТЬСЯ * - начало ошибки в чем проблема не могу понять Предупреждение 1 warning C4244: инициализация:...

Почему неработает команда Replace
Никак непойму, неработает команда вида Replace CorrectString, '&lt;', 'myLeftPict' Replace CorrectString, '&gt;', 'myRightPict' Replace...

Почему-то неработает скрипт с GoogleMap
есть такой скрипт, который навешиваеться на onclick function getAddress() { var url =...


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

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

Новые блоги и статьи
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru