Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.66/35: Рейтинг темы: голосов - 35, средняя оценка - 4.66
 Аватар для Happy!
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245

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

23.12.2010, 21:21. Показов 7026. Ответов 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
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
23.12.2010, 21:30
Создавайте совсем пустой проект, снимите галочку с "использования предкомпилированного заголовка". Либо создайте файл StdAfx.h (пустой) и включите его в проект первым.
0
 Аватар для Happy!
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245
23.12.2010, 21:50  [ТС]
Вот в основная ошибка
Не удается открыть файл источник: d3dx9.h: No such file or directory
Что делать? directx sdk подключал.. что делать?
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
23.12.2010, 21:54
Плохо подключал. Проверь наличие заголовков DX SDK над диске и что пути к ним прописаны в студии. Tools -- VC++ Directories или как-то так...
0
 Аватар для Happy!
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245
23.12.2010, 22:22  [ТС]
Может направельно подключал, я делал так, я зашел в Проект -> Свойства проекта
А дальше как в скринах
Сначало указал пути до библиотек


А потом сделал то что сам незнаю значит но сказали так надо
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
23.12.2010, 22:47
Убедитесь, что в папке, которую вы добавили в Include Directories содержит подключаемый файл.
Заодно проверьте, чтобы в коде не было русской буквы "х" в имени заголовочного файла.
0
 Аватар для Happy!
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245
23.12.2010, 22:48  [ТС]
Да вроде все правильно....
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
23.12.2010, 22:52
Подробнее список ошибок.
0
 Аватар для Happy!
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245
24.12.2010, 09:56  [ТС]
Я исправил все что мог но осталось последнее
1>------ Построение начато: проект: Start, Конфигурация: Debug Win32 ------
1>Построение начато 24.12.2010 9:54:47.
1>InitializeBuildStatus:
1> Обращение к "Debug\Start.unsuccessfulbuild".
1>ClCompile:
1> d3d9.h
1>c1xx : fatal error C1083: Не удается открыть файл источник: d3d9.h: No such file or directory
1> dxfunc.h
1>c:\users\я\desktop\мои программы\c++\gam7\start\start\dxfunc.h( 35): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
1> d3dx9.h
1>c1xx : fatal error C1083: Не удается открыть файл источник: d3dx9.h: No such file or directory
1> stdafx.cpp
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:01.09
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Файл dxfunc.h был взят с диска который довался к кние
0
13 / 13 / 1
Регистрация: 03.08.2010
Сообщений: 61
24.12.2010, 11:15
Возможно, если директория с файлом прописана в директориях заголовочных файлов, то надо прописывать всё-таки #include <bla-bla-bla>, а не #include "bla-bla-bla", поскольку такое подключение обозначает, что файл находится в каталоге с головной программой, в 6 визуал студии так.
0
 Аватар для Happy!
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245
24.12.2010, 20:12  [ТС]
А, понял поч стока ошибок, я в dxfunc.h забыл заменить ковычки в include на знаки больше меньше, но ошибки всеравно есть: Не удается открыть файл источник: d3dx9.h
Такое ощущение что Directx sdk неподключена, хотя я все ставил, и несколько раз проверял..

Добавлено через 7 часов 34 минуты
Что некто незнает что делать?
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
25.12.2010, 04:54
Happy!, добавьте перед всеми инклудами вот эту строку
C++
1
#include "stdafx.h"
0
 Аватар для Happy!
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245
25.12.2010, 10:58  [ТС]
Вот ошибки без stdafx.h
1>------ Построение начато: проект: Start, Конфигурация: Debug Win32 ------
1>Построение начато 25.12.2010 10:56:24.
1>InitializeBuildStatus:
1> Обращение к "Debug\Start.unsuccessfulbuild".
1>ClCompile:
1> stdafx.h
1>c:\users\я\desktop\мои программы\c++\gam7\start\start\stdafx.h( 22): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
1> d3d9.h
1>c1xx : fatal error C1083: Не удается открыть файл источник: d3d9.h: No such file or directory
1> dxfunc.h
1>c:\users\я\desktop\мои программы\c++\gam7\start\start\dxfunc.h( 35): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
1> d3dx9.h
1>c1xx : fatal error C1083: Не удается открыть файл источник: d3dx9.h: No such file or directory
1> stdafx.cpp
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:02.76
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

А вот с stdafx.h

1>------ Построение начато: проект: Start, Конфигурация: Debug Win32 ------
1>Построение начато 25.12.2010 10:58:07.
1>InitializeBuildStatus:
1> Обращение к "Debug\Start.unsuccessfulbuild".
1>ClCompile:
1> Для всех выходных данных обновления не требуется.
1> d3d9.h
1>c1xx : fatal error C1083: Не удается открыть файл источник: d3d9.h: No such file or directory
1> dxfunc.h
1>c:\users\юля\desktop\мои программы\c++\gam7\start\start\dxfunc.h( 4): warning C4627: #include <d3d9.h>: пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>c:\users\юля\desktop\мои программы\c++\gam7\start\start\dxfunc.h( 5): warning C4627: #include <d3dx9.h>: пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>c:\users\юля\desktop\мои программы\c++\gam7\start\start\dxfunc.h( 35): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
1> d3dx9.h
1>c1xx : fatal error C1083: Не удается открыть файл источник: d3dx9.h: No such file or directory
1> Start.cpp
1>c:\users\юля\desktop\мои программы\c++\gam7\start\start\start.cpp (46): error C2440: =: невозможно преобразовать "char [21]" в "LPCWSTR"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>c:\users\юля\desktop\мои программы\c++\gam7\start\start\start.cpp (53): error C2664: CreateWindowExW: невозможно преобразовать параметр 2 из "char [21]" в "LPCWSTR"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>c:\users\юля\desktop\мои программы\c++\gam7\start\start\start.cpp (99): error C2664: MessageBoxW: невозможно преобразовать параметр 2 из "const char [25]" в "LPCWSTR"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1> dxfunc.cpp
1>c:\users\юля\desktop\мои программы\c++\gam7\start\start\dxfunc.cp p(2): warning C4627: #include "dxfunc.h": пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>c:\users\юля\desktop\мои программы\c++\gam7\start\start\dxfunc.cp p(263): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
1> Создание кода...
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:01.49
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
25.12.2010, 11:24
Попробуйте так
C++
1
2
3
4
5
6
7
#include "stdafx.h"
#include <windows.h>
#pragma comment (lib, "d3d9.lib")
#include <d3d9.h>
#pragma comment (lib, "d3dx9.lib")
#include <d3dx9.h>
#include <..\..\common\dxfunc.h>
0
 Аватар для Happy!
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245
25.12.2010, 12:39  [ТС]
Не помогает((
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
25.12.2010, 12:48
Компилятор не может найти заголовок d3d9.h, причину такой простой ошибки сложно диагностировать удаленно и предстоит выяснить вам. Проверяйте каталог, который вы добавили в инклуды и саму эту папку на наличие, наличие в ней соответствующих файлов и доступность. У вас там семерка или виста, может какой механизм защиты запрещает?

Но хрустальный шар уже тускнеет, да и телепатические способности на этом исчерпывают себя...
0
 Аватар для Happy!
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245
25.12.2010, 12:59  [ТС]
Файлы существуют, адреса праписаны вроде правильно, а ос у меня виста....

Добавлено через 1 минуту
Пробовал запустить программу от имени админестратора тоже непомогает...
0
 Аватар для grcool
0 / 0 / 0
Регистрация: 25.12.2010
Сообщений: 5
25.12.2010, 13:30
Еще в свойстах проекта выберите Character Set: Use Multi-Byte Character Set, это решит проблемы с LPCWSTR
0
 Аватар для Happy!
25 / 25 / 1
Регистрация: 07.12.2010
Сообщений: 245
25.12.2010, 13:35  [ТС]
А где находится Character Set: Use Multi-Byte Character Set, в какой вкладке?
0
 Аватар для grcool
0 / 0 / 0
Регистрация: 25.12.2010
Сообщений: 5
25.12.2010, 13:39
Цитата Сообщение от Happy! Посмотреть сообщение
А где находится Character Set: Use Multi-Byte Character Set, в какой вкладке?
Configuration Properties -> General
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.12.2010, 13: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 =...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru